第8章 条件和循环(1)

8.1 if语句

8.1.1 多重条件表达式

单个if语句可以通过使用布尔操作符and、or和not实现多重判断条件或是否定判断条件。

8.1.2 单一语句的代码块

如果一个复合语句的代码块仅仅包含一行代码,那么它可以和前面的语句写在同一行上。

8.2 else语句

8.3 elif(即else-if)语句

Python当前不支持switch/case语句。

8.4 条件表达式

X if C else Y

>>> str1 = "111" if 1 >= 2 else "222"
>>> str1
'222'
>>> 

8.5 while语句

8.6 for语句

Python的for更像是shell或是脚本语言中的foreach循环。

8.6.2 用于序列类型

1. 通过序列项迭代

>>> str1 = "abcdefg"
>>> for str in str1:
... print str
...
a
b
c
d
e
f
g
>>> 

2. 通过序列索引迭代

>>> for index in range(len(str1)):
... print str1[index]
...
a
b
c
d
e
f
g
>>> 

3. 使用项和索引迭代

>>> for(index, value) in enumerate(str1):
... print index, value
...
0 a
1 b
2 c
3 d
4 e
5 f
6 g
>>> 

两全其美的方法是使用内建的enumerate()函数。

8.6.3 用于迭代器类型

8.6.4 range()内建函数

range()的完整语法 range(start,end,step=1)

8.6.5 xrange()内建函数

xrange()类似range(),不过当有一个很大的范围列表时,xrange()可能更为适合,因为它不会在内存里创建列表的完整拷贝。它只被用在for循环中,在for循环外使用它没有意义。

8.6.6 与序列相关的内建函数

sorted()、reversed()、enumerate()、zip()

8.7 break语句

break语句用于打断迭代,推出循环。

8.8 continue语句

当遇到continue语句时,程序会终止当前循环,并忽略剩余的语句,然后回到循环的顶端。

8.9 pass语句

有些地方在语法上要求要有代码,而python中没有对应的空大括号或是分号来表示C语言中的“不做任何事”,如果你在需要在有语句块的地方不写任何语句,解释器会提示语法错误。因此Python提供了pass语句,它不做任何事情。

8.10 再谈else语句

在循环中使用时,else子句只在循环完成后执行,也就是说break语句也会跳过else块。

>>> for i in "1290":
... print i
... else:
... print 
... print "current char is %s"%i
... 
1
2
9
0


current char is 0
>>> 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值