亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python的else子句使用指南

系統(tǒng) 1879 0

在日常coding中,分支語(yǔ)句的使用非常普遍,經(jīng)常會(huì)根據(jù)是否滿足一定的條件對(duì)代碼執(zhí)行的邏輯進(jìn)行一些控制,所以大家對(duì)if[elif[else]]一定不會(huì)陌生。分支語(yǔ)句中的else子句在其它的條件不滿足的時(shí)候會(huì)被執(zhí)行到,適當(dāng)?shù)氖褂梅种дZ(yǔ)句能夠讓我們的代碼邏輯更加的豐富。

在分支語(yǔ)句中使用else子句在一些常見(jiàn)的編程語(yǔ)言中的用法基本相同,類似于提供了一條默認(rèn)的執(zhí)行路徑,配合if等條件判斷語(yǔ)句使用,相比其它的編程語(yǔ)言(c#, java, js等)在python中,else有一些特殊的用法,配合for, while等循環(huán)語(yǔ)句使用,甚至還能配合異常處理try except語(yǔ)句進(jìn)行使用,能夠讓我們的代碼更加的簡(jiǎn)潔。

配合for/while循環(huán)語(yǔ)句使用

在for循環(huán)語(yǔ)句的后面緊接著else子句,在循環(huán)正常結(jié)束的時(shí)候(非return或者break等提前退出的情況下),else子句的邏輯就會(huì)被執(zhí)行到。先來(lái)看一個(gè)例子:

            
def print_prime(n):
  for i in xrange(2, n):
    # found = True
    for j in xrange(2, i):
      if i % j == 0:
         # found = False 
        break
    else:
      print "{} it's a prime number".format(i)
    # if found:
         # print "{} it's a prime number".format(i)
 
print_prime(7)
 
2 it's a prime number
3 it's a prime number
5 it's a prime number

          

一個(gè)簡(jiǎn)單打印素?cái)?shù)的例子,判斷某個(gè)數(shù)字是否是素?cái)?shù)的時(shí)候需要遍歷比它自己小的整數(shù),任何一個(gè)滿足整除的情況則判斷結(jié)束,否則打印這是一個(gè)素?cái)?shù)的info,有了else的加持,整個(gè)例子的邏輯相當(dāng)?shù)摹皊elf-expressive”,如同偽代碼一般的好理解而且相比在判斷整除的時(shí)候設(shè)置標(biāo)志值然后在函數(shù)的結(jié)尾處判斷標(biāo)志值決定是否打印數(shù)字時(shí)素?cái)?shù)的消息,代碼更簡(jiǎn)潔沒(méi)有那么多要描述如何做的“過(guò)程式”準(zhǔn)備工作。

ps: 大家可以把例子中的被注釋代碼運(yùn)行對(duì)比下效果。

配合 try except錯(cuò)誤控制使用

在異常處理語(yǔ)句中,else有相似的用法,當(dāng)try代碼塊沒(méi)有拋出任何的異常時(shí),else語(yǔ)句塊會(huì)被執(zhí)行到。

            
def my_to_int(str_param):
  try:
    print int(str_param)
  except ValueError:
    print 'cannot convert {} to a integer'.format(str_param)
  else:
    print 'convert {} to integer successfully'.format(str_param)
 
my_to_int("123")
my_to_int("me123")
 
123
convert 123 to integer successfully
cannot convert me123 to a integer

          

如打印日志所示,在轉(zhuǎn)換成功未發(fā)生錯(cuò)的的時(shí)候,else語(yǔ)句里的邏輯會(huì)被執(zhí)行,當(dāng)然這個(gè)例子可能并沒(méi)有什么太多的實(shí)際的用處,但大致能說(shuō)明else在錯(cuò)誤處理中的用處:簡(jiǎn)化邏輯,避免使用一些標(biāo)志值就能夠準(zhǔn)確把握是否發(fā)生錯(cuò)誤的情況來(lái)做一些實(shí)際的操作(比如在保存數(shù)據(jù)的時(shí)候如果發(fā)生錯(cuò)誤,在else語(yǔ)句塊中進(jìn)行rollback的操作,然后緊接著還能加上finally語(yǔ)句完成一些清理操作。

善用else語(yǔ)句塊能夠讓我們編寫出更加簡(jiǎn)明,更加接近自然語(yǔ)言的語(yǔ)義的代碼,當(dāng)然也會(huì)更加的pythonic,細(xì)微之處大家可以慢慢體會(huì)。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 国产精选一区二区 | 久久久久久久久a免费 | 成人深夜视频在线观看 | 国产精品成人亚洲 | 第四色奇米影视 | 美女一级毛片视频 | 日韩 欧美 国产 亚洲 中文 | 亚洲欧美日产综合一区二区三区 | 亚洲精品国产一区二区三 | 亚洲欧美韩日 | 精品小视频在线 | 精品性久久 | 久久综合九色综合国产 | 国产精品久久久久久网站 | 免费亚洲网站 | 久草青青 | 亚洲一区综合 | 99热久久国产精品这里小说 | 成人欧美一区二区三区视频不卡 | 亚洲不卡免费视频 | 91精品免费观看老司机 | 久久99在线 | 韩国19禁青草福利视频在线 | 成人在线视频国产 | 2017天天干天天射 | 国产麻豆精品hdvideoss | 老司机福利深夜亚洲入口 | 四虎影院2022 | 欧美在线免费视频 | 亚洲成在人线免费视频 | 国产亚洲男人的天堂在线观看 | 精品国产一区二区麻豆 | 97国产在线公开免费观看 | 国产成人一区 | 亚洲国产美女 | 狠狠色噜噜狠狠狠狠黑人 | 国产专区日韩精品欧美色 | 国产亚洲漂亮白嫩美女在线 | 亚洲在线中文 | 另类亚洲图片 | 欧美激情中文字幕一区二区 |