您的位置:首页 > 编程语言 > Python开发

python基础——语句_控制语句

2017-01-09 12:43 260 查看

1、 条件语句 if/elif/else

if 表达式:
语句
else:
语句

if 表达式:
语句
elif 表达式:
语句
else:
语句


我们知道C语言或者C++语言中有分支语句:switch/case,可以根据变量值选择动作。但python语言中没有提供,如果想要使用分支语句,可以通过字典实现。

python中一条内置的三元表达式

a if b else c


assert关键字(断言):需要确保程序中的某一条件一定为真时才能让程序正常工作。格式:

assert 表达式, 'message' #在条件不满足时,解释断言


2、 循环语句

while/else循环:通用的循环语句

while 表达式:
语句
else:
语句


这里需要特别注意的是else语句,仅当while循环不是通过break语句跳出的时候,才执行此语句(包括while循环主体一次都没有执行的情况,因为这种情况下没有执行break语句)。通常用来实现需要标志位的算法。

for/else循环:序列迭代,为可迭代对象的每个元素都执行同样的代码块

for x in set:
语句


会把set中的元素按顺序赋值给x。

range(下限,上限,步长):

for x in range(length):


xrange()类似于range(),区别在于range()一次创建整个序列,而xrange()一次只创建一个数,当序列比较大时,xrange比较高效。

range可以实现的非完备遍历可以通过分片操作替代:

for i in range(0, len(S), 2):

for c in S[::2]:


range还可以实现在循环过程中对列表的修改

L = [1, 2, 3]
for x in L:
x += L
L
[1, 2, 3]


上面的操作并没有改变列表。

for i in range(len(L)):
L[i] += 1


但是通过range修改列表的操作可以被列表解析式替代,而且不会对原列表进行原处的修改:

[x+1 for x in L]


zip(序列1, 序列2)实现并行迭代:

当参数长度不同时,会以最短序列的长度为准进行截断。

原则

能用for尽量不用while:因为for循环比while循环容易写,而且执行比较快。

for循环中最好不使用range:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: