国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

簡單瞅瞅Python assert 語句

2json / 809人閱讀

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

寫在前面

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

簡單介紹

簡單用法是:

assert expression

讓我們用程序來測試這個expression,如果expression相當于False,那么raise一個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] # 非空列表值得注意一下,雖說也沒個啥,哈哈
>>> assert not [1, 2]
Traceback (most recent call last):
  File "", line 1, in 
    assert not [1, 2]
AssertionError

為assert斷言語句添加異常參數

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

assert expression [, arguments]
assert 表達式 [, 參數]

舉例請看之后的代碼

一些重要的細節

老鐵們可以試著運行一下以下代碼段:

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

當然還有奇葩的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()

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


最后,再試一試這倆吧:

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

是的,只要是空的,甭管是幾維的,都相當于False

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/45259.html

相關文章

  • 簡單瞅瞅Python zip()函數

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

    lwx12525 評論0 收藏0
  • Python中不盡如人意的斷言Assertion

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

    The question 評論0 收藏0
  • python學習筆記-python的調試

    摘要:但是在調試之后,我們還需要手動刪除語句,比較麻煩。關閉后,語句就不再生效。的好處有很多,一個是可以制定輸出特定級別的信息。我們可以用對進行簡單的配置。小于該的都會被忽略。但是在處理很長的代碼的時候,顯得效率低下。 我們在寫代碼的時候,往往會有一大堆錯誤。我們該如何調試呢? 用print語句打印 我們可以用print語句打印我們想要的內容,然后在輸出中查看。 print hah 但是在調...

    hufeng 評論0 收藏0
  • python錯誤、異常和程序調試

    摘要:關鍵字拼寫錯誤時會提示語法錯誤,而變量名函數名拼寫錯誤會在運行時給出的錯誤提示腳本程序不符合的語法規范例如如少了括號,冒號等符號,以及表達式書寫錯誤等。異常的處理異常是程序在運行過程中引發的錯誤。 異常是Python程序在運行過程中引發的錯誤,如果程序中引發了未進行處理的異常,程序就會由于異常而終止運行,只有為程序添加異常處理,才能使程序更健壯。 Python對異常的處理,有它自己的語...

    Object 評論0 收藏0
  • SICP Python 描述 1.5 控制

    摘要:函數體由表達式組成。我們說頭部控制語句組。于是,函數體內的賦值語句不會影響全局幀。包含了多種假值,包括和布爾值。布爾值表示了邏輯表達式中的真值。執行測試以及返回布爾值的函數通常以開頭,并不帶下劃線例如等等。返回值之后會和預期結果進行比對。 1.5 控制 來源:1.5 Control 譯者:飛龍 協議:CC BY-NC-SA 4.0 我們現在可以定義的函數能力有限,因為我們還不知...

    mingzhong 評論0 收藏0

發表評論

0條評論

2json

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<