美文网首页
Python中else代码块用法总结

Python中else代码块用法总结

作者: 夏威夷的芒果 | 来源:发表于2018-10-28 16:53 被阅读0次

else那点事

Python 中,else 除了与 if 匹配外,还可以与 for , while, try 等关键字匹配使用。

for...else...

Python中的通过for...else...会使得代码很简洁,注意else中的代码块仅仅是在for循环中没有执行break语句的时候执行:

cities = ['BeiJing', 'TianJin', 'JiNan', 'ShenZhen', 'WuHan']
tofind = 'Shanghai'

for city in cities:
    if tofind == city:
        print 'Found!'
        break
else: 
    # 执行else中的语句意味着没有执行break
    print 'Not found!'




>>> Not found!    #运行结果

while...else...

只有当 while 环运行完毕时,也就是说 while 的循环条件为假而退出,没有关键字 break 来终止循环 while 循环,else 中的代码块才能够运行。这与 for 循环中else 的用法类似的。

find = 'Java'
array = ['I', 'love', 'Python', 'forever']

i = 0
while i < len(array):
    if find == array[i]:
        print('Found!')
        break
    i += 1
else:
    print('Not found!')


>>> Not found!    #运行结果

try…else

只有当 try 块中的代码没有捕获到任何一种异常时,才执行 else 块中的代码。其中的语法结构为:

try:
    <Code1>
except <name>:
    <Code2>          
else:
    <Code3> 

Code1代码执行过程中捕获到 name类型的异常时,就会执行Code2代码块,如果没有任何异常,会执行 Code3 代码块。
注意是没有任何异常,如果存在异常而 except模块没捕获到,那么else代码块中的代码不会执行。同时也要注意,else 代码块中的异常是没有被捕获的。这可以应用在读取文件过程中,如果打开文件异常(可能有文件不存在等)就执行except中的代码块,若无异常,则执行 else 中的代码块。Python代码如下:

filename = 'Python.txt'

try:
    file = open(filename,"r")

except Exception as error:
    print("File Open Error",error)

else:
    for line in file:
        print line,
    file.close()

相关文章

网友评论

      本文标题:Python中else代码块用法总结

      本文链接:https://www.haomeiwen.com/subject/nzzptqtx.html