亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python assert的用處示例詳解

 更新時(shí)間:2019年04月01日 09:23:03   作者:周伯通的麥田  
python assert 句語(yǔ)格式及用法很簡(jiǎn)單。通常程序在運(yùn)行完之后拋出異常,使用assert可以在出現(xiàn)有異常的代碼處直接終止運(yùn)行。這篇文章通過(guò)實(shí)例代碼介紹了python assert的用處 ,需要的朋友可以參考下

使用assert斷言是學(xué)習(xí)python一個(gè)非常好的習(xí)慣,python assert 斷言句語(yǔ)格式及用法很簡(jiǎn)單。在沒(méi)完善一個(gè)程序之前,我們不知道程序在哪里會(huì)出錯(cuò),與其讓它在運(yùn)行最崩潰,不如在出現(xiàn)錯(cuò)誤條件時(shí)就崩潰,這時(shí)候就需要assert斷言的幫助。本文主要是講assert斷言的基礎(chǔ)知識(shí)。

python assert斷言的作用

python assert斷言是聲明其布爾值必須為真的判定,如果發(fā)生異常就說(shuō)明表達(dá)示為假。可以理解assert斷言語(yǔ)句為raise-if-not,用來(lái)測(cè)試表示式,其返回值為

下面通過(guò)實(shí)例代碼介紹下python assert 作用,具體內(nèi)容如下所示:

python assert 句語(yǔ)格式及用法很簡(jiǎn)單。通常程序在運(yùn)行完之后拋出異常,使用assert可以在出現(xiàn)有異常的代碼處直接終止運(yùn)行。 而不用等到程序執(zhí)行完畢之后拋出異常。

python assert的作用

python assert如果發(fā)生異常就說(shuō)明表達(dá)示為假??梢岳斫獗硎臼椒祷?值為假 時(shí)就會(huì)觸發(fā)異常。

assert語(yǔ)句的語(yǔ)法格式

assert expression [, arguments]
assert 表達(dá)式 [, 參數(shù)]

附加說(shuō)明:assert也可以用于多個(gè)表達(dá)式的: assert expression1, expression2。
注意:表達(dá)式=false 時(shí),則執(zhí)行其后面的異常。

我們看幾個(gè)示例

1:?jiǎn)蝹€(gè)表達(dá)式:

a = 1
assert a < 0, '出錯(cuò)了,a大于0 啊'
print('這里不會(huì)輸出')

輸出:

Traceback (most recent call last):
 File "main.py", line 3, in <module>
 assert a < 0, '出錯(cuò)了,a大于0 啊'
AssertionError: 出錯(cuò)了,a大于0 啊

2:多個(gè)表達(dá)式:

a = 1
b = -1
assert a > 0, b < 0
print('正常輸出,表達(dá)式返回真了') # 輸出:正常輸出,表達(dá)式返回真了

3:嘗試捕獲 assert 異常:

import traceback

try:
 assert a < 0
except AssertionError as aeeor: # 明確拋出此異常
 # 拋出 AssertionError 不含任何信息,所以無(wú)法通過(guò) aeeor.__str__()獲取異常描述
 print('AssertionError', aeeor, aeeor.__str__())

 # 通過(guò) traceback 打印詳細(xì)異常信息
 print('traceback 打印異常')
 traceback.print_exc()
except: # 不會(huì)命中其他異常
 print('assert except')

try:
 raise AssertionError('測(cè)試 raise AssertionError')
except AssertionError as aeeor:
 print('raise AssertionError 異常', aeeor.__str__())

輸出:

AssertionError
 traceback 打印異常
 Traceback (most recent call last):
 File "main.py", line 7, in <module>
 aAssertionError
 raise AssertionError 異常 測(cè)試 raise AssertionErrorssert a < 0

 4:函數(shù)調(diào)用拋出異常:

# 除法運(yùn)算
def foo(value, divide):
 assert divide != 0
 return value / divide
print('4除以2 =', foo(4, 2)) # 執(zhí)行成功
print('4除以0 =', foo(4, 0)) # 拋出異常

輸出:

 4除以2 = 2.0
 Traceback (most recent call last):
 File "main.py", line 8, in <module>
 print('4除以0 =', foo(4, 0)) # 拋出異常
 File "main.py", line 3, in foo
 assert divide != 0
 AssertionError

通過(guò)上面幾個(gè)示例,相信大家也深刻理解aseert的用處了

總結(jié): 表達(dá)式返回false 時(shí)。直接拋出異常終止繼續(xù)執(zhí)行。

以上所述是小編給大家介紹的python assert的用處示例詳解,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 通過(guò)Python的jieba庫(kù)對(duì)文本進(jìn)行分詞

    通過(guò)Python的jieba庫(kù)對(duì)文本進(jìn)行分詞

    Python的jieba庫(kù)是一個(gè)中文分詞工具,它可以將一段中文文本分割成一個(gè)一個(gè)的詞語(yǔ),方便后續(xù)的自然語(yǔ)言處理任務(wù),如文本分類、情感分析等,本文給大家介紹如何通過(guò)Python的jieba庫(kù)對(duì)文本進(jìn)行分詞,文中詳細(xì)的代碼示例,需要的朋友可以參考下
    2023-05-05
  • 詳解PyTorch批訓(xùn)練及優(yōu)化器比較

    詳解PyTorch批訓(xùn)練及優(yōu)化器比較

    本篇文章主要介紹了詳解PyTorch批訓(xùn)練及優(yōu)化器比較,詳細(xì)的介紹了什么是PyTorch批訓(xùn)練和PyTorch的Optimizer優(yōu)化器,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2018-04-04
  • python?中的?super詳解

    python?中的?super詳解

    這篇文章主要介紹了python?中的?super,提到 super,最直接的想法就是它代表了父類,替父類執(zhí)行某些方法,但是理解也僅止步于此,下面對(duì) super 做進(jìn)一步理解,需要的朋友可以參考下
    2022-08-08
  • Python爬蟲教程知識(shí)點(diǎn)總結(jié)

    Python爬蟲教程知識(shí)點(diǎn)總結(jié)

    在本篇文章里小編給大家整理的是一篇關(guān)于Python爬蟲教程知識(shí)點(diǎn)總結(jié),有興趣的朋友們可以學(xué)習(xí)參考下。
    2020-10-10
  • python讀寫刪除復(fù)制文件操作方法詳細(xì)實(shí)例總結(jié)

    python讀寫刪除復(fù)制文件操作方法詳細(xì)實(shí)例總結(jié)

    這篇文章主要介紹了python讀寫刪除復(fù)制文件操作方法詳細(xì)實(shí)例總結(jié),需要的朋友可以參考下
    2021-04-04
  • 關(guān)于你不想知道的所有Python3 unicode特性

    關(guān)于你不想知道的所有Python3 unicode特性

    我的讀者知道我是一個(gè)喜歡痛罵Python3 unicode的人。這次也不例外。我將會(huì)告訴你用unicode有多痛苦和為什么我不能閉嘴。我花了兩周時(shí)間研究Python3,我需要發(fā)泄我的失望。在這些責(zé)罵中,仍然有有用的信息,因?yàn)樗涛覀內(nèi)绾蝸?lái)處理Python3。如果沒(méi)有被我煩到,就讀一讀吧
    2014-11-11
  • 關(guān)于Python中函數(shù)的幾種形參

    關(guān)于Python中函數(shù)的幾種形參

    這篇文章主要介紹了關(guān)于Python中函數(shù)的幾種形參,python中函數(shù)是非常重要的一個(gè)知識(shí)點(diǎn),想要把函數(shù)學(xué)習(xí)好,就必須要把函數(shù)的參數(shù)學(xué)習(xí)好,這樣才能夠進(jìn)行很好的傳遞參數(shù),發(fā)揮出應(yīng)有的作用,需要的朋友可以參考下
    2023-08-08
  • 淺析Python中的賦值和深淺拷貝

    淺析Python中的賦值和深淺拷貝

    Python中,對(duì)象的賦值,拷貝(深/淺拷貝)之間是有差異的,如果使用的時(shí)候不注意,就可能產(chǎn)生意外的結(jié)果。接下來(lái)通過(guò)本文給大家分享Python中的賦值和深淺拷貝,感興趣的朋友一起看看吧
    2017-08-08
  • python使用Tesseract庫(kù)識(shí)別驗(yàn)證

    python使用Tesseract庫(kù)識(shí)別驗(yàn)證

    這篇文章主要為大家詳細(xì)介紹了python使用Tesseract庫(kù)識(shí)別驗(yàn)證,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Python中的pack和unpack的使用

    Python中的pack和unpack的使用

    這篇文章主要介紹了Python中的pack和unpack的使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03

最新評(píng)論