条件和循环
if 语句
语法如下:
if expression:
expr_true_suite
多重条件表达式
单个 if 语句可以通过使用布尔操作符 and , or 和 not,实现多重判断条件或是否定判断条件.
单一语句的代码块
如果一个复合语句(例如 if 子句, while 或 for 循环)的代码块仅仅包含一行代码, 那么它可 以和前面的语句写在同一行上:
if make_hard_copy: send_data_to_printer()
else 语句
语法如下:
if expression:
expr_true_suite
else:
expr_false_suite
避免“悬挂 else”
elif (即 else-if )语句
elif 是 Python 的 else-if 语句, 它检查多个表达式是否为真, 并在为真时执行特定代码块中的代码.
if expression1:
expr1_true_suite
elif expression2:
expr2_true_suite
elif expressionN:
exprN_true_suite
else:
none_of_the_above_suite
条件表达式(即”三元操作符”)
maller = x if x < y else y
while 语句
一般语法
while expression:
suite_to_repeat
计数循环
count = 0
while (count < 9):
print 'the index is:', count
count += 1
无限循环
for 语句
一般语法
for 循环会访问一个可迭代对象(例如序列或是迭代器)中的所有元素, 并在所有条目都处理过 后结束循环. 它的语法如下:
for iter_var in iterable:
suite_to_repeat
用于序列类型
用于迭代器类型
range() 内建函数
- Python 提供了两种不同的方法来调用 range() .
- 完整语法要求提供两个或三个整数参数:
range(start, end, step =1)
range() 会返回一个包含所有 k 的列表, 这里 start <= k < end , 从 start 到 end , k 每次递增 step . step 不可以为零,否则将发生错误. - 如果只给定两个参数,而省略 step, step 就使用默认值 1 .
- 完整语法要求提供两个或三个整数参数:
range() 还有两种简略的语法格式:
- range(end)
- range(start, end)
xrange() 内建函数
xrange() 类似 range() , 不过当你有一个很大的范围列表时, xrange() 可能更为适合, 因为 它不会在内存里创建列表的完整拷贝.
与序列相关的内建函数
sorted(), reversed(), enumerate(), zip()
break 语句
Python 中的 break 语句可以结束当前循环然后跳转到下条语句, 类似 C 中的传统 break . 常用在当某个外部条件被触发(一般通过 if 语句检查), 需要立即从循环中退出时. break 语句可 以用在 while 和 for 循环中.
continue 语句
pass 语句
Python 提供了 pass 语句, 它不做任何事情 - 即 NOP , ( No OPeration , 无操作) 我们从汇编语言中借用这个概念.
迭代器和 iter() 函数
列表解析
列表解析( List comprehensions, 或缩略为 list comps ) 来自函数式编程语言 Haskell . 它 是一个非常有用, 简单, 而且灵活的工具, 可以用来动态地创建列表.
语法如下:
[expr for iter_var in iterable]
生成器表达式
列表解析的一个不足就是必要生成所有的数据, 用以创建整个列表. 这可能对有大量数据的迭 代器有负面效应. 生成器表达式通过结合列表解析和生成器解决了这个问题.
生成器表达式使用了”延迟计算”(lazy evaluation), 所以它在使用 内存上更有效.
语法如下:
(expr for iter_var in iterable if cond_expr)
参考资料:
Python核心编程
备注:
转载请注明出处:http://blog.csdn.net/wsyw126/article/details/54235926
作者:WSYW126