1.pep8规范(记3-5个)
-
使用space(空格)来表示缩进,而不要用tab(制表符)
-
和语法相关的每一层缩进都要用4个空格来表示
-
每行的字符数不应超过79
-
对于占据多行的长表达式来说,除了首行之外的其余各行都应该在通常的缩进级别之上再加上4个空格
-
文件中函数与类之间应该用两个空行隔开
-
在同一个类中,各方法之间应该用一个空行隔开
-
函数、变量及属性应该用小写字母来拼写,各单词之间以下划线相连,例如lowercase_underscore
-
类中的实例方法(instance method),应该把首个参数命名为self,以表示该对象自身
-
类方法(class method)的首个参数,应该命名为cls,以表示该类自身
-
不要通过检测长度的方法(如if len(somelist) == 0)来判断somelist是否为[]或“”等空值,而是应该采用if not somelist,它会假定:空值会自动评估为False
2or和and
or and
v1 = 1 or 3
v2 = 1 and 3
v3 = 0 and 2 and 1
v4 = 0 and 2 or 1
v5 = 0 and 2 or 1 or 4
v6 = 0 or False and 1
结果:1 3 0 1 1 False
计算方法
- 在纯and语句中,如果每一个表达式都不是假的话,那么返回最后一个,因为需要一直匹配直到最后一个。如果有一个是假,那么返回假
- 在纯or语句中,只要有一个表达式不是假的话,那么就返回这个表达式的值。只有所有都是假,才返回假
- 在or和and语句比较难表达,总而言之,碰到and就往后匹配,碰到or如果or左边的为真,那么就返回or左边的那个值,如果or左边为假,继续匹配or右边的参数。
- 其一, 在不加括号时候, and优先级大于or
- 其二, x or y 的值只可能是x或y. x为真就是x, x为假就是y
- 第三, x and y 的值只可能是x或y. x为真就是y, x为假就是x
3.Python2和Python3的区别
py2:input_raw()
py3:input()
1/2的结果:
py2:返回0
py3:返回0.5
编码方式:
py2:默认编码ascii
py3:默认编码utf-8
字符串:
py2:unicode类型表示字符串序列,str类型表示字节序列
py3: str类型表示字符串序列,byte类型表示字节序列
py2中函数用关键字global声明某个变量为全局变量,但是在嵌套函数中,想要给一个变量声明为非局部变量是没法实现的。
py3中,新增了关键字nonlocal,使得非局部变量成为可能