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

Python常用斷言函數實例匯總

 更新時間:2020年11月30日 14:41:51   作者:-零  
這篇文章主要介紹了Python常用斷言函數實例匯總,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

Python assert 語句,又稱斷言語句,可以看做是功能縮小版的 if 語句,它用于判斷某個表達式的值,如果值為真,則程序可以繼續(xù)往下執(zhí)行;反之,Python 解釋器會報 AssertionError 錯誤。

assert 語句的語法結構為:

assert 表達式

assert 語句的執(zhí)行流程可以用 if 判斷語句表示(等效),如下所示:

if 表達式==True:
程序繼續(xù)執(zhí)行
else:
程序報 AssertionError 錯誤

有讀者可能會問,明明 assert 會令程序崩潰,為什么還要使用它呢?這是因為,與其讓程序在晚些時候崩潰,不如在錯誤條件出現時,就直接讓程序崩潰,這有利于我們對程序排錯,提高程序的健壯性。
因此,assert 語句通常用于檢查用戶的輸入是否符合規(guī)定,還經常用作程序初期測試和調試過程中的輔助工具。
下面的程序演示了 assert 語句的用法:

mathmark = int(input())
#斷言數學考試分數是否位于正常范圍內
assert 0 <= mathmark <= 100
#只有當 mathmark 位于 [0,100]范圍內,程序才會繼續(xù)執(zhí)行
print("數學考試分數為:",mathmark)

運行該程序,測試數據如下:

90

數學考試分數為: 90

再次執(zhí)行該程序,測試數據為:

159

Traceback (most recent call last):
File "C:\Users\mengma\Desktop\file.py", line 3, in <module>
assert 0 <= mathmark <= 100
AssertionError

可以看到,當 assert 語句后的表達式值為真時,程序繼續(xù)執(zhí)行;反之,程序停止執(zhí)行,并報 AssertionError 錯誤。

常用斷言函數
常用

這里介紹幾個常用斷言的使用方法,可以一定程度上幫助大家對預期結果進行判斷。-

  • assertEqual
  • assertNotEqual
  • assertTrue
  • assertFalse
  • assertIsNone
  • assertIsNotNone
  • assertEqual 和 assertNotEqual
  • assertEqual:如兩個值相等,則pass
  • assertNotEqual:如兩個值不相等,則pass

使用方法:

assertEqual(first,second,msg)其中first與second進行比較,如果相等則通過;msg為失敗時打印的信息,選填;斷言assertNotEqual反著用就可以了。

  • assertTrue和assertFalse
  • assertTrue:判斷bool值為True,則pass
  • assertFalse:判斷bool值為False,則Pass

使用方法:

  • assertTrue(expr,msg)其中express輸入相應表達式,如果表達式為真,則pass;msg選填;斷言assertFalse如果表達式為假,則pass
  • assertIsNone和assertIsNotNone
  • assertIsNone:不存在,則pass
  • assertIsNotNone:存在,則pass

使用方法:

assertIsNone(obj,msg)檢查某個元素是否存在

總結:

常用

assertEqual(a, b) a == b
assertNotEqual(a, b) a != b
assertTrue(x) bool(x) is True
assertFalse(x) bool(x) is False
assertIs(a, b) a is b 2.7
assertIsNot(a, b) a is not b 2.7
assertIsNone(x) x is None 2.7
assertIsNotNone(x) x is not None 2.7
assertIn(a, b) a in b 2.7
assertNotIn(a, b) a not in b 2.7
assertIsInstance(a, b) isinstance(a, b) 2.7
assertNotIsInstance(a, b) not isinstance(a, b) 2.7

其它

assertAlmostEqual(a, b) round(a-b, 7) == 0
assertNotAlmostEqual(a, b) round(a-b, 7) != 0
assertGreater(a, b) a > b 2.7
assertGreaterEqual(a, b) a >= b 2.7
assertLess(a, b) a < b 2.7
assertLessEqual(a, b) a <= b 2.7
assertRegexpMatches(s, re) regex.search(s) 2.7
assertNotRegexpMatches(s, re) not regex.search(s) 2.7
assertItemsEqual(a, b) sorted(a) == sorted(b) and works with unhashable objs 2.7
assertDictContainsSubset(a, b) all the key/value pairs in a exist in b 2.7
assertMultiLineEqual(a, b) strings 2.7
assertSequenceEqual(a, b) sequences 2.7
assertListEqual(a, b) lists 2.7
assertTupleEqual(a, b) tuples 2.7
assertSetEqual(a, b) sets or frozensets 2.7
assertDictEqual(a, b) dicts 2.7
assertMultiLineEqual(a, b) strings 2.7
assertSequenceEqual(a, b) sequences 2.7
assertListEqual(a, b) lists 2.7
assertTupleEqual(a, b) tuples 2.7
assertSetEqual(a, b) sets or frozensets 2.7assertDictEqual(a, b) dicts 2.7

使用時機:

那么我們什么時候應該使用斷言呢?如果沒有特別的目的,斷言應該用于如下情況:

  • 防御性的編程
  • 運行時對程序邏輯的檢測
  • 合約性檢查(比如前置條件,后置條件)
  • 程序中的常量
  • 檢查文檔
  • 例:防御性編程中添加斷言

在代碼開始添加注釋是個好的開端,但是人們都不太喜歡讀和更新這些注釋,這些注釋會很快變得過時。但對于斷言,我們可以同時對這塊代碼編寫文檔,如果這些斷言被違反了,會直接引起一個簡單而又直接的失敗。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • python 利用已有Ner模型進行數據清洗合并代碼

    python 利用已有Ner模型進行數據清洗合并代碼

    今天小編就為大家分享一篇python 利用已有Ner模型進行數據清洗合并代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • 從Python的源碼淺要剖析Python的內存管理

    從Python的源碼淺要剖析Python的內存管理

    這篇文章主要介紹了從Python的源碼淺要剖析Python的內存管理,需要的朋友可以參考下
    2015-04-04
  • python函數定義和調用過程詳解

    python函數定義和調用過程詳解

    這篇文章主要介紹了python函數定義和調用過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • Python海龜turtle基礎知識大全以及畫圖集合實例

    Python海龜turtle基礎知識大全以及畫圖集合實例

    turtle是一個簡單的繪圖工具,它提供了一個海龜,你可以把它理解為一個機器人,只聽得懂有限的指令,下面這篇文章主要給大家介紹了關于Python海龜turtle基礎知識大全以及畫圖集合的相關資料,需要的朋友可以參考下
    2023-04-04
  • Python實現字符串模糊匹配詳解

    Python實現字符串模糊匹配詳解

    這篇文章主要為大家詳細介紹了Python實現字符串模糊匹配的相關知識,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以了解下
    2023-11-11
  • python實現新年倒計時實例代碼

    python實現新年倒計時實例代碼

    大家好,本篇文章主要講的是python實現新年倒計時實例代碼,昂星期的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • python3中布局背景顏色代碼分析

    python3中布局背景顏色代碼分析

    在本篇文章里小編給大家分享了一篇關于python3中布局背景顏色代碼分析的相關內容,有興趣的朋友們可以學習參考下。
    2020-12-12
  • python使用7z解壓apk包的方法

    python使用7z解壓apk包的方法

    這篇文章主要介紹了python使用7z解壓apk包的方法,涉及Python的shell命令調用技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • python隨機生成大小寫字母數字混合密碼(僅20行代碼)

    python隨機生成大小寫字母數字混合密碼(僅20行代碼)

    這篇文章主要介紹了python隨機生成大小寫字母數字混合密碼,主要是利用random模塊隨機生成數字,大小寫字母,通過循環(huán)次數來實現此功能,需要的朋友可以參考下
    2020-02-02
  • 詳解如何理解并正確使用Python中的f字符串

    詳解如何理解并正確使用Python中的f字符串

    Python中的f字符串是一種字符串格式化語法,它可以將變量、表達式和函數等動態(tài)地嵌入到字符串中,本文就來詳細講講如何理解并正確使用它吧
    2023-06-06

最新評論