您的位置:首页 > 编程语言 > Python开发

以写代学:python相关概念

2016-07-22 15:00 316 查看
注释及续行
(1)尽管python是最好的语言之一,但这并不意味着程序员在代码中就可以不写注释
(2)和很多UNIX脚本类似,python注释语句从#字符开始
(3)注释可以在一行的任何地方开始,解释器会忽略掉该行#之后的所有内容
(4)一行过长的语句可以使用反斜杠\分解成几行,其实是一行
aList[
1, {"a","alice"}
2, {"b","bob"}

]
可以写成类似的,可读性强一点,仍然是一个列表,里边有四项内容
缩进及代码组
(1)缩进相同的一组语句构成一个代码块,称之代码组
(2)首行以关键字开始,以冒号:结束,该行之后的一行或多行代码构成代码组
(3)如果代码组只有一行,可以将其直接写在冒号 后面,但是这样的写法可读性查,不推荐
(4)允许将多个语句写在同一行上,但是这些语句不能在这行开始一个新的代码块。一般不推荐使用,因为可读性会变差
赋值运算符
(1)python语言中,等号=是主要的赋值运算符
(2)赋值并不是直接将一个值赋给一个变量,在python中,对象是通过引用传递的。在赋值时,不管这个对象是新创建的,还是一个已经存在的,都是将该对象的引用(并不是值)赋值给变量。

>>> aList = [1,2]
>>> bList = aList
修改任意一个列表这两个列表都会跟着变,因为是可变类型,都指向相同的内存区域
(3)python支持链式多重赋值
>>> x = y = 1
(4)从python2.0开始,等号可以和一个算数运算符组合在一起,将计算结果重新赋值给左边的变量,这被称为增量赋值
>>> x += 1
(5)可以将多个变量同时赋值的方法称为多元赋值,(采用这种方式赋值时,等号两边的对象都是元组)目前本人也不懂这句话,请懂得同学评论告知,谢谢

>>> x , y = 1, [2,3]
>>> a = 10
>>> b = 20
>>> a, b = b, a

关键字
(1)和其它高级语言一样,python也有一些被称作关键字的保留字符,任何语言的关键字应该保持相对的稳定,但是因为python是一门不断成长和进化的语言,其关键字偶尔会更新
(2)有一个关键字的模块
>>> import tab
>>> import keyword
>>> keyword.kwlist //列出所有关键字
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
>>> keyword.iskeyword("if") //查看是否是关键字
True
内建函数
(1)除了关键字之外,python还有可以在任何一级代码使用的“内建”的名字集合,这些名字可以由解释器设置或使用
(2)虽然built-in不是关键字,但是应该把它当做“系统保留字”,保留的常量如:True、False、None
(3)可以通过在交互解释器输入变量名称,来判断它是否是内建函数,如果是内建函数则会提示如下

>>> len
<built-in function len>
>>> len("abcde")
5
主程序中的测试代码
(1)优秀的程序员和软件工程师,总是会为其应用程序提供一组测试代码或者简单教程
(2)测试代码仅当该文件被直接执行时运行,即被其它模块导入时不执行
(3)利用__name__变量这个有利条件,将测试代码放在一个函数中,如果该模块是被当成脚本,就调用这个函数
python对象特性
(1)身份:每一个对象都有一个唯一的身份标识自己,任何对象的身份可以使用内建函数id()来得到
>>> x = 1
>>> id(x)
30524216
(2)类型:决定了该对象可以保存什么类型的值,可以进行什么样的操作,以及遵循什么样的规则。用内建函数type查看对象的类型
>>> type(x)
<type 'int'>

(3)值:对象表示的数据项
python对象属性
(1)某些python对象有属性、值或相关联的可执行代码
(2)最常用的属性是函数和方法,不过有一些python类型也有数据属性
(3)含有数据属性的对象包括(但不限于):类、类实例、模块、复数和文件

本文出自 “庭中有奇树” 博客,请务必保留此出处http://zhangdl.blog.51cto.com/11050780/1828809
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: