习题13

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,使得非局部变量成为可能

原文地址:https://www.cnblogs.com/XWJHY/p/14113563.html