成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

簡單瞅瞅Python assert 語句

2json / 818人閱讀

摘要:寫在前面最近每日一更,我這菜雞都有點(diǎn)兒不好意思了簡單介紹簡單用法是讓我們用程序來測試這個(gè),如果相當(dāng)于,那么一個(gè)出來。

寫在前面

最近每日一更,我這菜雞都有點(diǎn)兒不好意思了

簡單介紹

簡單用法是:

assert expression

讓我們用程序來測試這個(gè)expression,如果expression相當(dāng)于False,那么raise一個(gè)AssertionError出來。
即邏輯上等同于:

if not expression:
    raise AssertionError

簡單看看這些例子:

>>> assert True
>>> assert False
Traceback (most recent call last):
  File "", line 1, in 
    assert False
AssertionError

>>> assert 1==1
>>> assert 1==0
Traceback (most recent call last):
  File "", line 1, in 
    assert 1==0
AssertionError

>>> assert [1, 2] # 非空列表值得注意一下,雖說也沒個(gè)啥,哈哈
>>> assert not [1, 2]
Traceback (most recent call last):
  File "", line 1, in 
    assert not [1, 2]
AssertionError

為assert斷言語句添加異常參數(shù)

assert的異常參數(shù),其實(shí)就是在斷言表達(dá)式后添加字符串信息,一般用來解釋斷言。格式如下:

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

舉例請(qǐng)看之后的代碼

一些重要的細(xì)節(jié)

老鐵們可以試著運(yùn)行一下以下代碼段:

>>> assert None, "None若作為布爾表達(dá)式,則相當(dāng)于False"
>>> assert [], "空列表若作為布爾表達(dá)式,則相當(dāng)于False"
>>> assert (), "空元組若作為布爾表達(dá)式,則相當(dāng)于False"
>>> assert {}, "空字典若作為布爾表達(dá)式,則相當(dāng)于False"
>>> assert set(), "空集合若作為布爾表達(dá)式,則相當(dāng)于False"
>>> assert "", "空字符串若作為布爾表達(dá)式,則相當(dāng)于False"

當(dāng)然還有奇葩的numpy

>>> a = np.array([1, 2])
>>> assert a 
Traceback (most recent call last):

  File "", line 1, in 
    assert aa

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

是的,你沒看錯(cuò),哪里有numpy,哪里就有Use a.any() or a.all()......


最后,再試一試這倆吧:

>>> assert np.array([])
>>> assert np.array([[], []])

是的,只要是空的,甭管是幾維的,都相當(dāng)于False

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/45259.html

相關(guān)文章

  • 簡單瞅瞅Python zip()函數(shù)

    摘要:方法一直持續(xù)到參數(shù)序列中最短的可迭代對(duì)象耗盡,然后它拋出。如需轉(zhuǎn)換為列表,需使用內(nèi)置函數(shù)轉(zhuǎn)換。這里簡單列一下函數(shù)的例子打包為元組的列表,元素個(gè)數(shù)與最短的列表一致也可以轉(zhuǎn)換為字典 zip()函數(shù),其實(shí)看help(zip)即可 | Return a zip object whose .__next__() method returns a tuple where| the i-th e...

    lwx12525 評(píng)論0 收藏0
  • Python中不盡如人意的斷言Assertion

    摘要:為何不盡如人意中的斷言用起來非常簡單,你可以在后面跟上任意判斷條件,如果斷言失敗則會(huì)拋出異常。中的斷言可讀性很好,而且智能提示也很方便你通過輕松完成各種斷言語句。而且它的斷言信息簡潔明了,不多不少。 Python Assert 為何不盡如人意 Python中的斷言用起來非常簡單,你可以在assert后面跟上任意判斷條件,如果斷言失敗則會(huì)拋出異常。 >>> assert 1 + 1 ==...

    The question 評(píng)論0 收藏0
  • python學(xué)習(xí)筆記-python的調(diào)試

    摘要:但是在調(diào)試之后,我們還需要手動(dòng)刪除語句,比較麻煩。關(guān)閉后,語句就不再生效。的好處有很多,一個(gè)是可以制定輸出特定級(jí)別的信息。我們可以用對(duì)進(jìn)行簡單的配置。小于該的都會(huì)被忽略。但是在處理很長的代碼的時(shí)候,顯得效率低下。 我們?cè)趯懘a的時(shí)候,往往會(huì)有一大堆錯(cuò)誤。我們?cè)撊绾握{(diào)試呢? 用print語句打印 我們可以用print語句打印我們想要的內(nèi)容,然后在輸出中查看。 print hah 但是在調(diào)...

    hufeng 評(píng)論0 收藏0
  • python錯(cuò)誤、異常和程序調(diào)試

    摘要:關(guān)鍵字拼寫錯(cuò)誤時(shí)會(huì)提示語法錯(cuò)誤,而變量名函數(shù)名拼寫錯(cuò)誤會(huì)在運(yùn)行時(shí)給出的錯(cuò)誤提示腳本程序不符合的語法規(guī)范例如如少了括號(hào),冒號(hào)等符號(hào),以及表達(dá)式書寫錯(cuò)誤等。異常的處理異常是程序在運(yùn)行過程中引發(fā)的錯(cuò)誤。 異常是Python程序在運(yùn)行過程中引發(fā)的錯(cuò)誤,如果程序中引發(fā)了未進(jìn)行處理的異常,程序就會(huì)由于異常而終止運(yùn)行,只有為程序添加異常處理,才能使程序更健壯。 Python對(duì)異常的處理,有它自己的語...

    Object 評(píng)論0 收藏0
  • SICP Python 描述 1.5 控制

    摘要:函數(shù)體由表達(dá)式組成。我們說頭部控制語句組。于是,函數(shù)體內(nèi)的賦值語句不會(huì)影響全局幀。包含了多種假值,包括和布爾值。布爾值表示了邏輯表達(dá)式中的真值。執(zhí)行測試以及返回布爾值的函數(shù)通常以開頭,并不帶下劃線例如等等。返回值之后會(huì)和預(yù)期結(jié)果進(jìn)行比對(duì)。 1.5 控制 來源:1.5 Control 譯者:飛龍 協(xié)議:CC BY-NC-SA 4.0 我們現(xiàn)在可以定義的函數(shù)能力有限,因?yàn)槲覀冞€不知...

    mingzhong 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<