真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python進(jìn)階之路3.4.5斷言

3.4.5 斷言

斷言(assertions)的使用方式類似于if語句,只是在不滿足條件時(shí),會(huì)直接拋出異常。類似于下面的if語句(偽代碼)

創(chuàng)新互聯(lián)建站服務(wù)項(xiàng)目包括德興網(wǎng)站建設(shè)、德興網(wǎng)站制作、德興網(wǎng)頁(yè)制作以及德興網(wǎng)絡(luò)營(yíng)銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,德興網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到德興省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

if not condition:       #如果不滿足條件,會(huì)直接拋出異常,程序會(huì)中斷
    crash program

那么究竟為什么需要這樣的代碼呢?主要原因?yàn)樾枰獧z測(cè)程序在某個(gè)地方是否滿足條件,如果不滿足條件,應(yīng)該及時(shí)通知開發(fā)人員,而不是將這些bug隱藏起來,知道關(guān)鍵的時(shí)候在崩潰。

其實(shí)在TDD中經(jīng)常使用斷言,TDD會(huì)在程序發(fā)現(xiàn)異常時(shí)執(zhí)行斷言,并拋出異常。

在Python語言中,斷言需要使用assert語句,在assert關(guān)鍵字的后面指定斷言的條件表達(dá)式。如果條件表達(dá)式的值是False,那么就會(huì)拋出異常。而且斷言后面的語句都不會(huì)執(zhí)行,相當(dāng)于程序的一個(gè)斷點(diǎn)。

>>> value = 20
>>> assert value < 10 or value > 30     #條件不滿足,會(huì)拋出異常
>> assert value < 30        #條件滿足,會(huì)正常執(zhí)行后面的語句

可以看到,value變量的值是20,而assert后面的條件是“value < 10 or value > 30”,很明顯,條件不滿足,所以在斷言出會(huì)拋出異常。而后面的斷言,條件是“value < 30”,這個(gè)條件是滿足的,所以在斷言后面的語句都會(huì)正常執(zhí)行。

當(dāng)斷言條件不滿足時(shí)拋出異常,在默認(rèn)情況下,只顯示了拋出異常的位置,并沒有顯示拋出異常的原因,所以為了異常信息更明確,可以為assert語句指定異常描述。

>>> value = 20
>>> assert value < 10 or value > 30,'value值必須在10~20'    #為斷言指定異常描述信息

[例 3.6] 本例演示了斷言的用法。

name = "Bill"       #定義變量name
assert name == "Bill"       #斷言條件表達(dá)式的值是True,繼續(xù)執(zhí)行下面的語句

age = 20        #定義變量age
#斷言條件表達(dá)式的值是False,拋出異常,后面的代碼不會(huì)被執(zhí)行
assert 0 < age < 10, '年齡必須小于10歲'

print("hello world")        #這行代碼不會(huì)被執(zhí)行

本文題目:Python進(jìn)階之路3.4.5斷言
網(wǎng)站URL:http://weahome.cn/article/pohhhh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部