程序结构与控制流
转载请标明出处(http://blog.csdn.net/lis_12/article/details/52759832).
程序结构
每条语句都能放在程序中的任意位置,解释器始终按照顺序执行每一条语句,直到无语句可以执行,用import加载的库文件的时候也是如此;
条件语句
if expression: something elif expression: something elif expression: .... else: something
elif和else如果不需要刻意省略.
循环与迭代
while循环执行,直至表达式为False,
for仅适用于支持迭代的对象,for循环执行,直至再迭代对象中无元素可用.
““python
while expression:
somethingfor i in s:
somethingfor循环类似于以下:
s = s.__iter__()
while 1:
try:
i = s.next()
except StopIteration:
break
somethingfor用法
for x,y,z in [(1,2,3),(4,5,6)]:
print x,y,z
”’
相当于解元组了,(x,y,z) = tuple[i]
result:
1 2 3
4 5 6
”’
for i,j in enumerate([10,9,8]):
print i,j
”’
enumerate相当于创建了一个[(0,s[0]),(1,s[1]),(2,s[3])…..]的迭代器
result:
0 10
1 9
2 8
”’
for i,j in zip(range(3),range(4,6)):
print i,j
”’
zip相当于创建了一个[(s1[0],s2[0]),(s1[1],s2[1]),(s1[3],s2[3])…..元组,比较浪费空间啊,
新生成的序列个数等于min(len(s1),len(s2))
result:
0 4
1 5
”’
““Ps:enumerate()创建的是迭代器;zip()创建的是一个元组,浪费空间啊,可以用itertools.izip()代替