Python循環(huán)語(yǔ)句使用中異?,F(xiàn)象的處理
Python循環(huán)語(yǔ)句在實(shí)際的使用中和C#語(yǔ)言中的循環(huán)沒(méi)有什么太大的區(qū)別。下面我們就來(lái)看看相關(guān)的代碼。Python循環(huán)語(yǔ)句中的while和for循環(huán)中支持break和continue語(yǔ)句。#t#
break語(yǔ)句用于立刻中止循環(huán),continue語(yǔ)句用于直接進(jìn)入下一次循環(huán)(忽略當(dāng)前循環(huán)的剩余語(yǔ)句)。break和continue語(yǔ)句在C#與Python循環(huán)語(yǔ)句中的用法是一致的,只用于語(yǔ)句所在的當(dāng)前循環(huán)。如果需要退出一個(gè)多重循環(huán),應(yīng)該使用異常,因?yàn)镻ython中沒(méi)有提供goto語(yǔ)句。
***,Python中的循環(huán)還支持else語(yǔ)句,它只在循環(huán)正常完成后運(yùn)行(for和while循環(huán)),或者在循環(huán)條件不成立時(shí)立即運(yùn)行(僅while循環(huán)),或者迭代序列為空時(shí)立即執(zhí)行(僅for循環(huán))。如果循環(huán)使用break語(yǔ)句退出的話,else語(yǔ)句將被忽略。下面的代碼用于說(shuō)明else在循環(huán)中的應(yīng)用。
- # while-else
- while i < 10:
- ii = i + 1
- else:
- print 'Done'
- # for-else
- for a in s:
- if a == 'Foo':
- break10 else:
- print 'Not found!'
異常
Python循環(huán)語(yǔ)句和C#一樣支持異常處理,利用try/except/finally結(jié)構(gòu),可以很方便的捕獲異常,同時(shí)可以用raise語(yǔ)句手動(dòng)拋出異常(上述四個(gè)異常處理的關(guān)鍵字分別對(duì)應(yīng)C#中的try/catch/finally/throw)。通過(guò)except,您可以將try標(biāo)示的語(yǔ)句中出現(xiàn)的錯(cuò)誤和異常捕獲,except可以接受參數(shù)作為要捕獲的異常,如果想要捕獲多個(gè)異常,可以使用元組(tuple)作為參數(shù)。沒(méi)有參數(shù)的except被認(rèn)為是捕獲所有異常。而finally則用來(lái)在***執(zhí)行一定要運(yùn)行的代碼,例如資源回收。下面是一個(gè)簡(jiǎn)單的例子,來(lái)說(shuō)明Python中的異常處理方式:
- try:
- f = open('thefile.txt')
- s = f.readline()
- ...
- except IOError, (errno, strerror):
- print "I/O error(%s): %s" % (errno, strerror)
- except ValueError:
- print "Could not convert data to an integer."
- except:
- print "Unexpected error:", sys.exc_info()[0]
- raise
- finally:f.close()
***說(shuō)明一點(diǎn),Python循環(huán)語(yǔ)句的try也支持else語(yǔ)句。如果有一些代碼要在try沒(méi)有發(fā)生異常的情況下才執(zhí)行,就可以把它放到else中(這一點(diǎn)與finally不同,finally分支無(wú)論如何都會(huì)被執(zhí)行)。
關(guān)于異常處理我們就簡(jiǎn)單介紹到這里,若需了解更多關(guān)于Python循環(huán)語(yǔ)句異常處理類(lèi)、內(nèi)建異常類(lèi)型、自定義異常等內(nèi)容。