`
pumaboyd
  • 浏览: 248617 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Python学习笔记一(初识Python)

阅读更多

刚学Python不久,因为自己的工作主要是使用.NET,所以很多思考的东西都会和C#相关。特别是在理解上,总爱和C#比较进行看看有什么区别

Array 和Tuple
Tuple在Python中定义成不可变的List,我的直觉理解就是一个Array(但这个很奇怪,Python中有一个标准模块就是Array,暂时没用过,以后再具体分析吧)。
对于Tuple来说初始化的方式很奇怪
userid=1,2,3,4,5
或者
userid=(1,2,3,4,5)
两者得到的结果是一样的。想这种userid=1,2,3,4,5 C#是肯定通不过的,而这种做法反而像C#的int a,b,c,d,但这表示的定义多个int的数据类型。

没有了开始和结尾的“{}”
C#的函数,类的定义...等都会出现这个符号。Python改为以缩进和冒号的方式来代替代码块。写多了Python你会发现这确实是个很美的事情。因为C#编写时本身代码规范就强调要缩进。现在把{}都去掉了,少敲了不少键盘啦。

函数默认参数
发现这个也是很折腾人的东西。因为和C#的确有不少的区别
1:Python的函数可以定义默认值,这个感觉像MSSQL的存储过程
2:Python的函数还可以使用关键字参数
def Get(name,id,age)
    pass
Get(name='333',id=1,age=444)

引用《简明Python》中的说法
“这样做有两个 优势 ——一,由于我们不必担心参数的顺序,使用函数变得更加简单了。二、假设其他参数都有默认值,我们可以只给我们想要的那些参数赋值。”,这一点,的确比C#方便不少。

函数的可变参数

Python:
def fprintf(*args):
    for i in args:
        print i
fprintf(1,2,3,4,"ssss")

在C#中会这样定义
public static void UseVariableParameters(params int[] list) { for ( int i = 0 ; i < list.Length ; i++ ) { Console.WriteLine(list[i]); } Console.WriteLine(); }

如果单纯从这上面看没什么优势,但Python 同时支持List、Tuple、Dictionary 作为参数一次传入。 List、Tuple的参数是以 *arg传入的。Dictinary是以**arg传入的。

>>>args = [3, 6]
>>> range(*args)

>>> def parrot(voltage, state='a stiff', action='voom'):
>>> d = {"voltage": "four million", "state": "bleedin' demised", "action": "VOOM"}
>>> parrot(**d)

这个只能说Python的语法太灵活啦

For IN 形式的循环
这个也很有意思,我发现在Python中已经没有了以前学习的语言中的for(int i;i<cout;i++)这种形式了。使用了For i in range(10) 这种方式,的确是个进步。而且C#也通过Linq的方式模拟了这个实现

过滤类别语法
很Cool

[mapping-expression for element in source-list if filter-expression]

>>> li = ["a", "mpilgrim", "foo", "b", "c", "b", "d", "d"]
>>> [elem for elem in li if len(elem) > 1]

C#的Linq现在也可以实现这个功能,但还是Python比较Cool ,和简单

and 和 or 的特殊性质
Python中and 和or 左右返回的不是bool而是相应的结果。
and 如果为假返回and左边的值,如果为真返回右边的值
or 返回第一个为真的值,如果都是假返回最后一个值

但这样确有一个C#没有的好相关,相当于一个二元操作符了。
在C#中经常这样写三元操作符和
string name;
name = String.ISNullOrEmpry(name)?String.Empty: "username is:" + name

而如果C#也支持Python的这种概念的话就可以简单写出
name = name and "username is :" + name
很希望C#能支持类似的语法

list对象的分片 (slice) 和 Copy
具体不多说,只是觉得比C#的list用起来方法,特别是希望.NET  以后可以支持这个语法

shoplist[:5] 返回序列的一段返回内的值
shoplist[:]返回整个序列的Copy

分享到:
评论

相关推荐

    python学习笔记-初识python

    【Python学习笔记-初识Python】 在编程世界中,Python是一种高级、通用的解释型编程语言,以其简洁、易读的语法和强大的功能而受到广大程序员的青睐。本笔记将带你初识Python的魅力,理解其核心概念,并为你提供...

    Python 基础学习笔记.pdf

    Python 基础学习笔记 本笔记是基于《Python 语言程序设计基础(第 2 版)》第一部分初识 Python 语言的笔记,涵盖了计算机的概念、程序设计语言、Python 语言概述、Python 语言开发环境配置、程序的基本编写方法等...

    Python基础学习笔记.pdf

    这份学习笔记基于《Python语言程序设计基础(第2版)》第一部分初识Python语言第一章程序设计基本方法。计算机是根据指令操作数据的设备,具备功能性和可编程性两个基本特性。计算机技术发展阶段包括计算机系统结构...

    Python-基础学习笔记.docx

    Python 基础学习笔记 本笔记基于《Python 语言程序设计基础(第 2 版)》第一部分 初识 Python 语言,涵盖了计算机的概念、程序设计语言、Python 语言概述、Python 语言开发环境配置、程序的基本编写方法等知识点。...

    python教程马哥-60集全全新马哥教育运维必备python基础语法全讲解-IT教程网....pdf

    本教程涵盖了从Python编程语言的初识、编程环境的准备到高级特性的深入理解,为学习者打造了一个系统的学习路径。 教程首先从Python编程语言的基本元素入手,包括程序文件结构、编程风格和环境设置,让学习者对...

    简明python教程_个人学习笔记.pdf

    初识Python,最基础的操作就是使用`print`函数输出信息。例如`print('Hello World')`,在Python解释器中执行这条语句,屏幕上将显示"Hello World"。无论在命令行还是IDLE中,输出都会立即显示在下一行。 【Python的...

    Python百天读书笔记 | 初识Python 1day

    "Python百天读书笔记 | 初识Python 1day"是针对Python初学者的一份学习资源,旨在帮助读者在100天内逐步掌握Python的基础知识。 1. **Python解释器的安装** Python解释器是执行Python代码的引擎。官方提供的...

    《人工智能基础教程:Python篇》读书笔记模板.pptx

    人工智能编程基础篇包括初识Python、基本数据类型、Python的流程控制、数组操作、文件操作、绘制需要的图表、函数、面向对象、异常、集合与概率、学点统计学、数据管理与分析等内容。人工智能篇包括人工智能导论、...

    sy-pynotebook:自2018.10〜2019.03系统性Python学习笔记

    起初学习Python是在2016年,那时扩展毕业,由于面临着找工作的不确定性,便学习了相关的网络安全知识,此时初识Python。 在正式工作之后,遇到了各种手工,重复性的工作,例如操作excel,操作网页去录相关系统信息等...

    1.初识Python

    本人自主学习Python时,每一天的心得笔记,很高心分享给大家,共同学习,一起进步!!!

    python爬虫学习笔记(三)—— 实战爬取豆瓣TOP250电影

    python爬虫学习笔记(一)——初识爬虫 python爬虫学习笔记(二)——解析内容 开始实战爬取豆瓣TOP250电影 首先还是重新复习下爬虫的基本流程: 发起请求 获取响应内容 解析内容 保存数据 1. 发起请求 首先观察豆瓣...

    python笔记,包含从基础语法、socket编程、异步编程、爬虫、ai等

    这篇笔记涵盖了Python编程的多个重要方面,旨在帮助学习者从初识到深入理解Python的各种技术。 首先,02_python目录下的内容可能包括Python的基础语法,如变量、数据类型(如整型、浮点型、字符串、列表、元组、...

    Python总结.docx

    - **博客文章**:分享优质的博客资源,如作者在知乎、微博等社交平台上发布的Python学习笔记。 ##### 2. 社区参与 - **社交平台**:鼓励加入Python相关的社交群组,如GitHub、Stack Overflow等,与其他开发者交流...

    《Python编程基础与自动化测试》读书笔记模板.pptx

    第一部分是初识Python编程基础,包括语言排行榜、技术雷达、Python之禅等基础知识。第二部分是认识自动化测试,包括自动化测试的场景和特点、类型、要学什么等内容。第三部分是单元测试,包括单元测试介绍、测试框架...

    Python3入门基础教程.pdf

    本文档是一份整合了多种资源的个人学习笔记,旨在为已有编程基础的人快速掌握Python3,同时也适合作为无基础者的自学大纲。 ### 一、初识Python 1. Python源代码文件通常以`.py`为扩展名,注释以`#`开头。 2. ...

    leetcode-practice:阿菜的学习笔记各种基础的学习笔记忽略乱七八糟的仓库名字

    这绝对是一份好看的而且用心的学习笔记了 数据库 高级MySQL笔记 极客时间-MySQL45讲整理 Python基础 初步基础 初识GraphQL 数据结构 leetcode(microsoft_question) 操作系统 计算机网络 Docker基础&& k8s部署demo...

    Spark学习笔记(一)Spark初识【特性、组成、应用】

    3. 通用性:Spark 是一个全面的数据处理平台,能够处理批处理、交互式查询(Spark SQL)、实时流处理(Spark Streaming)、机器学习(MLlib)和图计算(GraphX)。这种统一的解决方案使得开发者可以在一个框架内解决...

    我的笔记django!

    这些笔记内容覆盖了从Python基础到Django高级特性的广泛范围,对于想要深入学习Django的开发者来说是一份宝贵的资源。通过逐步学习和实践,可以提升Web开发技能,更好地利用Django框架构建高效、安全的Web应用程序。

    利用python爬虫(part17)–初识selenium

    学习笔记 文章目录seleniumphantomjs与chromedriver浏览器对象browser selenium selenium为Web自动化测试工具,可运行在浏览器,根据指令操作浏览器,如点击、下拉等。如果我们将selenim和Chrome/phantomjs浏览器...

    【推荐】最新超全的渗透测试学习基础教程集合(84份).zip

    01.入门笔记之看雪Web安全学习及异或解密示例; 02.Chrome浏览器保留密码功能渗透解析及登录加密入门笔记; 03.Burp Suite工具安装配置、Proxy基础用法及暴库示例; 04.实验吧CTF实战之WEB渗透和隐写术解密; 05.IDA...

Global site tag (gtag.js) - Google Analytics