赋值语句
一些常用的赋值语句:
序列赋值:元组可以和任意序列相互进行赋值运算,但注意被赋值的变量名数和序列长度要一致;
扩展的序列解包:不带星号的变量赋值右面系列对应的一个元素,带星号的赋值多个剩余元素组合的列表(甚至可以是空列表),不带星号的变量可以多个(也可以没有,但必须在带星号变量后加逗号表明这是一个元组),可以任意位置,带星号的只能一个。这种方法也可以用于for循环中:
增强赋值:增强赋值运算是一种原处修改的方式(对于可变类型),和C语言中一样,但是没有自增自减运算符++、–。Python的机制使增强赋值具有比普通赋值(生成新对象)更高的效率。
命名原则
基本与C语言相似。对于一些命名惯例:
Python中没有const概念。
and/or
与比较符号<>==不同,这两个与或非运算结果并不是返回True或False,而是返回一个对象:
- and:返回第一个为真的对象(短路计算)。当第一个为假时,返回第一个对象,当第一个为真时,返回第二个对象(无论真假)。
- or:返回第一个为真的对象(短路计算)。当第一个为真时,返回第一个对象,当第一个为假时,返回第二个对象(无论真假)。
但是not依旧是返回真或假。
if-else三元表达式
类似于C中的Y?A:B,Python中也有类似的if-else三元表达式用于计算二元选择:
# 方法一:(短路计算)
m = A if Y else B
# 方法二:(短路计算)
m = (Y and A) or B
# 方法三:(非短路计算)
m = [A, B][bool(Y)]