python核心编程(八)— 条件和循环

条件和循环

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() 内建函数
  1. Python 提供了两种不同的方法来调用 range() .
    1. 完整语法要求提供两个或三个整数参数:range(start, end, step =1) range() 会返回一个包含所有 k 的列表, 这里 start <= k < end , 从 start 到 end , k 每次递增 step . step 不可以为零,否则将发生错误.
    2. 如果只给定两个参数,而省略 step, step 就使用默认值 1 .
  2. range() 还有两种简略的语法格式:

    1. range(end)
    2. 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值