条件测试:
if 条件测试表达式
不同类型的比较方式: 数字:比较大小
字符串:按照ascii码表逐字符比较
列表和元组:自左至右比较各部分的内容
字典:比较排序后的(键、值)列表
Python中的真假:
1、非零数字和非空对象为真
2、数字0,空对象和None 为假
3、比较和相等测试会递归地应用于数据结构
4、返回值为True 或False
组合条件测试:
X and Y、 X or Y 、 not X
if 语法结构
if boolean_expression1:
suite1 //缩进4个字符
A = X if Y else Z:
if Y:
A = X
else:
A = Z
expression1 if boolean_expression else expression2
while和for 循环
while循环用于编写通用迭代结构
for循环是一个通用的序列迭代器
Python隐形迭代工具:
in 成员关系测试;列表解析;map、reduce、filter函数
while boolean_expression:
while_suite
else:
else_suite
else可选,Boolean_expression结果为False时结束循环,执行else。
print x, 可以在一行中非换行显示
break:跳出最内层的循环
continue:提前进入下一轮循环,调到所处的最近层循环的开始处。
else代码块:循环正常终止才会执行,如果循环终止是由break跳出导致的,则else不会执行。
range 是在for循环开始前 直接在内存中生成一个序列。xrange是一次产生一个数据元素,一个一个取出,可以节省内存资源。
for循环的执行速度比while快。
zip:返回并行的元素的元组列表,常用在for循环中遍历数个序列。
l1 = [1,2,3,4,5,6]
l2 = ['a','b','c','d','e','f']
zip(l1,l2)
[(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd'), (5, 'e'), (6, 'f')]
zip用于动态构造字典:
d = {}
for (k,v) in zip(l1,l2):d[k] = v
d
{1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'e', 6: 'f'}