其他分享
首页 > 其他分享> > 面试题1-3

面试题1-3

作者:互联网

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
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

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

标签:返回,面试题,False,py2,py3,somelist,表达式
来源: https://www.cnblogs.com/XWJHY/p/14113563.html