赋值魔法包括:
序列解包:将多个值的序列解开,然后放在变量的序列中。
>>> x,y,z=1,2,3>>> x,y=y,x>>> x,y,z(2, 1, 3)
链式赋值:
>>> x=y=1>>> x,y(1, 1)
增量赋值
>>> x=2>>> x+=1>>> x*=2>>> x6
布尔表达式中,False None 0 “” () [] {}被解释器看做假,其他的一些被解释为真。
条件语句:if else elif(else if)
Python中比较运算符是可以连接使用的,如
>>> 1<2<3True
布尔运算符:and or not
断言:if语句的近亲,它的工作进入如下(伪代码)
If not condition
Crash program
关键字是 assert,在程序中置入检查点,条件后可添加解释字符
>>> age=-1>>> assert 0<100, 'error age'Traceback (most recent call last):File " ", line 1, in assert 0 <100, 'error age'AssertionError: error age
循环的实现:while语句非常灵活,可以在指定条件下重复执行一个代码块
>>> x=1>>> while x<3: x+=1 print(x)23
for循环,对集合中的每个元素都执行一个代码块
>>> for num in x: print(num)123>>> for num in range(3): print(num)012
并行迭代:zip函数可以用于任意多的序列
>>> for x,y in zip(range(5),range(10000)): print(x,'-',y)0 - 01 - 12 - 23 - 34 - 4
编号迭代:替换所有包含‘xxx’的子字符串
for index,string in enumerate(strings): if ‘xxx’ in string string[index]=’newsub’
循环中的break语句,它只在没有调用break时执行:
>>> for num in range(1,3): if num==4: breakelse: print('no break')no break
列表推导式:利用其它列表创建新的列表
>>> [x*x for x in range(10) if x%3==0][0, 9, 36, 81]
Python中使用缩进(Tab)表示语句块,相同缩进的语句属于同一语句块。