Python流程控制语句

2018-10-11  本文已影响0人  _Sence_

if语句

if语句的写法如下:

x = 4
if x < 0:
    print('x < 0')
elif x == 0:
    print('x = 0')
elif x == 1:
    print('x = 1')
else:
    print('x > 1')

其中elif部分可以有零个或者多个,else部分是可选的。由于python中没有switch语句,因此if...elif...elif...的形式可以代替switch语句的形式。

for语句

for语句的写法如下:

words = ['a','b','c']
for word in words:
    print(word)

与其他语言(如:C语言)不相同的是,python的for语句并不使用算术条件来控制循环,而是用来迭代各种序列。如果需要使用数字或者借助数字来进行循环迭代,则可以使用range()函数,如:

for i in range(3):
    print(i)

以下是使用range()函数输出列表中内容的例子:

words = ['a', 'b', 'c']
for i in range(len(words)):
    print(i, words[i])

while语句

满足while条件时,退出循环

i=1
while i < 3:
    print(i)
    i = i + 1

break和continue语句

break语句用于打断当前break语句所在位置的最里面的for或while循环:

for i in range(0,3):
    print(i)
    if i == 1:
        break
print("loop over")

执行结果:

0
1
loop over

continue语句用于跳过循环中剩下的代码,而继续下一次迭代:


执行结果:


else语句与for、while的搭配使用

else语句除了可以与if语句搭配使用,它还可以在循环控制中与for、while语句搭配使用,else中的代码块会在循环正常结束的情况下执行

除了可以与for、while语句搭配只用,else语句还能与try语句搭配使用

#for-else
for i in range(0,3):
    print(i)
else:
    print("this is else statement")
    
#while-else
n = 0
while n < 3:
    print(n)
    n = n + 1
else:
    print("this is else statement")

以上两个例子的执行结果都一样,结果如下:

0
1
2
this is else statement

需要注意的是,被break打断循环时,不会执行else中的代码块:

#for-else
for i in range(0,3):
    if i == 1:
        break
    print(i)
else:
    print("this is else statement")
    
#while-else
n = 0
while n < 3:
    if n == 1:
        break
    print(n)
    n = n + 1
else:
    print("this is else statement")

以上两个例子的执行结果都一样,结果如下:

0

使用continue时继续循环时,else中的代码块是可以正常执行的:

#for-else
for i in range(0,3):
    if i == 1:
        continue
    print(i)
else:
    print("this is else statement")
    
#while-else
n = 0
while n < 3:
    if n == 1:
        #如果不在此处让n加1,while循环将永远不会结束
        n = n + 1
        continue
    print(n)
    n = n + 1
else:
    print("this is else statement")

以上两个例子的执行结果都一样,结果如下:

0
2
this is else statement

pass语句

pass语句不做任何事情,当语法需要语句但程序不需要操作时,需要使用它,它一般用作占位,例如:

#在流程控制中使用
while True:
    pass
    
#或者在类定义中使用
class MyClass
    pass
    
#又或者在函数定义中使用
def MyDef(arge):
    pass
上一篇下一篇

猜你喜欢

热点阅读