Python 结构
目录
SUMUP
选择结构
if 条件表达式:
语句/语句块
分类
- 单分支:if
- 双分支:
if :
else: - 多分支:
if :
elif :
elif :
[else:
]
条件表达式
在选择和循环结构中,条件表达式的值为False 的情况如下:
False、0、0.0、空值None、空序列对象(空列表、空元祖、空集合、空字典、空字
符串)、空range 对象、空迭代对象。
其他情况,均为True
条件表达式中,不能有赋值操作符“=”
三元条件运算符
条件为真时的值 if (条件表达式) else 条件为假时的值
例子:print( num if int(num)<10 else “数字太大”)
选择结构嵌套
循环结构
循环体里面的语句至少应该包含改变条件表达式的语句,以使循环趋于结束;否
则,就会变成一个死循环
分类
while
while 条件表达式:
循环体语句
for
for 变量in 可迭代对象:
循环体语句
可迭代对象
- 序列,包含:字符串、列表、元组
- 字典
- 迭代器对象(iterator)
- 生成器函数(generator)
- ==文件对象 ==
range( )
循环结构嵌套
Break & Continue
跳出最近一次的循环
Else
循环可以附带一个else 语句(可选
如果for、while 语句没有被break 语句结束,则会执行else 子句,否则不执行
循环代码优化技巧
- 尽量减少内层循环的计算,尽可能向外提;
- 局部变量查询较快,尽量使用局部变量
- 其他:
- 连接多个字符串,使用join()而不使用+
- 列表进行元素插入和删除,尽量在列表尾部操作
使用zip( )并行迭代
可以通过zip()函数对多个序列进行并行迭代,zip()函数在最短序列“用完”时就会停
止
>>> a=(1,2,3,4,5)
>>> b=(6,7,8)
>>> c=(9,10,11,12)
>>> for i,j,k in zip(a,b,c):
... print("{0},{1},{2}".format(i,j,k))
...
1,6,9
2,7,10
3,8,11
推导式创建序列
推导式是从一个或者多个迭代器快速创建序列的一种方法
将循环和条件判断结合,从而避免冗长的代码,提高效率
列表推导式
[表达式 for item in 可迭代对象]
或
[表达式 for item in 可迭代对象 if 条件判断]
字典推导式
[key_expression : value_expression for 表达式 in 可迭代对象]
集合推导式
{key_expression for 表达式 in 可迭代对象}
生成器推导式(生成元组)
>>> (x for x in range(1,100) if x%9==0)
<generator object <genexpr> at 0x0000000002BD3048>