国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python | assert關(guān)鍵字

這篇具有很好參考價(jià)值的文章主要介紹了Python | assert關(guān)鍵字。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

Python斷言assert是幫助代碼流暢的調(diào)試工具。斷言主要是假設(shè)程序員知道或總是希望是真的,因此將它們放在代碼中,這樣這些失敗不會允許代碼進(jìn)一步執(zhí)行。

簡單地說,斷言是一個布爾表達(dá)式,用來檢查語句是True還是False。如果語句為True,則不執(zhí)行任何操作并繼續(xù)執(zhí)行,但如果語句為False,則停止執(zhí)行程序并拋出錯誤。

Python assert語句流程圖

Python | assert關(guān)鍵字,python,python

Python assert關(guān)鍵字語法

語法: assert condition, error_message(optional)
參數(shù)
condition:返回True或False的布爾值條件。
error_message:在AssertionError的情況下,在控制臺中打印的可選參數(shù)。
返回:AssertionError,如果條件計(jì)算為False。

在Python中,assert關(guān)鍵字有助于完成此任務(wù)。此語句接受一個布爾條件作為輸入,當(dāng)返回True時,不做任何事情并繼續(xù)正常的執(zhí)行流程,但如果計(jì)算結(jié)果為False,則引發(fā)AssertionError。

例如:

# initializing number
a = 4
b = 0
 
# using assert to check for 0
print("The value of a / b is : ")
assert b != 0
print(a / b)

輸出

The value of a / b is : 
---------------------------------------------------------------------------
AssertionError                            Traceback (most recent call last)
Input In [19], in <cell line: 10>()
      8 # using assert to check for 0
      9 print("The value of a / b is : ")
---> 10 assert b != 0
     11 print(a / b)

AssertionError: 

這段代碼試圖通過在執(zhí)行除法操作之前檢查b的值是否為0。a初始化為4,b初始化為0。程序打印消息a / b的值是:assert語句檢查b是否不等于0。由于b為0,assert語句失敗并引發(fā)AssertionError。
由于失敗的assert語句引發(fā)異常,程序終止,不再繼續(xù)執(zhí)行下一行的print語句。

帶有error_message參數(shù)的assert

a = 4
b = 0
 
# using assert to check for 0
print("The value of a / b is : ")
assert b != 0, "Zero Division Error"
print(a / b)

輸出

AssertionError: Zero Division Error

在函數(shù)內(nèi)部使用assert斷言

在本例中,assert語句用于函數(shù)內(nèi)部,以在計(jì)算矩形的面積之前驗(yàn)證矩形的長度和寬度是否為正。如果斷言為False,則會引發(fā)AssertionError,并顯示消息“Length and width must be positive”。如果斷言為True,則函數(shù)返回矩形的面積;如果為False,則退出并返回一個錯誤。為了展示如何在各種情況下使用assert,該函數(shù)被調(diào)用兩次,一次使用正輸入,一次使用負(fù)輸入。

def calculate_rectangle_area(length, width):
    # Assertion to check that the length and width are positive
    assert length > 0 and width > 0, "Length and width"+ \
                "must be positive"
    # Calculation of the area
    area = length * width
    # Return statement
    return area
 
 
# Calling the function with positive inputs
area1 = calculate_rectangle_area(5, 6)
print("Area of rectangle with length 5 and width 6 is", area1)
 
# Calling the function with negative inputs
area2 = calculate_rectangle_area(-5, 6)
print("Area of rectangle with length -5 and width 6 is", area2)

帶有布爾值條件的斷言

在這個例子中,assert語句檢查布爾條件x < y是否為真。如果斷言失敗,則引發(fā)AssertionError。如果斷言通過,程序?qū)⒗^續(xù)并打印x和y的值。

# Initializing variables
x = 10
y = 20
 
# Asserting a boolean condition
assert x < y
 
# Printing the values of x and y
print("x =", x)
print("y =", y)

輸出

x = 10
y = 20

檢查變量類型的斷言

在本例中,assert語句檢查變量a和b的類型是否分別為str和int。如果任何斷言失敗,它將引發(fā)AssertionError。如果兩個斷言都通過,程序繼續(xù)并打印a和b的值。

# Initializing variables
a = "hello"
b = 42
 
# Asserting the type of a variable
assert type(a) == str
assert type(b) == int
 
# Printing the values of a and b
print("a =", a)
print("b =", b)

輸出

a = hello
b = 42

斷言字典的值

# Initializing a dictionary
my_dict = {"apple": 1, "banana": 2, "cherry": 3}

# Asserting the contents of the dictionary
assert my_dict["apple"] == 1
assert my_dict["banana"] == 2
assert my_dict["cherry"] == 3

# Printing the dictionary
print("My dictionary contains the following key-value pairs:", my_dict)

輸出

My dictionary contains the following key-value pairs: 
{'apple': 1, 'banana': 2, 'cherry': 3}

實(shí)際應(yīng)用

這在任何開發(fā)領(lǐng)域的測試和質(zhì)量保證角色中都有更大的用處。根據(jù)應(yīng)用程序使用不同類型的斷言。下面是一個簡單的程序演示,該程序只允許調(diào)度所有熱食品的批次,否則拒絕整個批次。

# initializing list of foods temperatures
batch = [40, 26, 39, 30, 25, 21]
 
# initializing cut temperature
cut = 26
 
# using assert to check for temperature greater than cut
for i in batch:
    assert i >= 26, "Batch is Rejected"
    print (str(i) + " is O.K" )

輸出

40 is O.K
26 is O.K
39 is O.K
30 is O.K

運(yùn)行時異常:

AssertionError: Batch is Rejected

為什么要使用Python assert語句?

在Python中,assert語句是一個強(qiáng)大的調(diào)試工具,可以幫助識別錯誤并確保代碼按預(yù)期運(yùn)行。下面是使用assert的幾個理由:文章來源地址http://www.zghlxwxcb.cn/news/detail-675133.html

  • 調(diào)試:代碼所做的假設(shè)可以用assert語句進(jìn)行驗(yàn)證。通過在整個代碼中放置assert語句,可以快速找到錯誤并調(diào)試程序。
  • 文檔:在代碼中使用assert語句可以作為文檔。斷言語句使其他人更容易理解和使用您的代碼,因?yàn)樗鼈冿@式地描述了您的代碼所做的假設(shè)。
  • 測試:為了確保滿足某些需求,在單元測試中經(jīng)常使用assert語句。通過在測試中合并assert語句,可以確保代碼正常工作,并且所做的任何更改都不會損壞當(dāng)前功能。
  • 安全性:您可以使用assert檢查程序輸入是否符合要求并驗(yàn)證它們。通過這樣做,可以避免諸如緩沖區(qū)溢出和SQL注入攻擊的安全缺陷。

到了這里,關(guān)于Python | assert關(guān)鍵字的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【python基礎(chǔ)】循環(huán)語句-continue關(guān)鍵字

    【python基礎(chǔ)】循環(huán)語句-continue關(guān)鍵字

    continue的作用是:用來告訴 Python 跳過當(dāng)前循環(huán)代碼塊中的剩余語句,然后繼續(xù)進(jìn)行下一輪循環(huán)。 其在while循環(huán)和for循環(huán)中的作用示意圖如下 我們通過示意圖發(fā)現(xiàn),其只是中斷本次循環(huán),本次循環(huán)中在continue后面的代碼語句將不被執(zhí)行,直接轉(zhuǎn)向條件測試,測試通過執(zhí)行

    2024年02月08日
    瀏覽(28)
  • 【python基礎(chǔ)】循環(huán)語句-break關(guān)鍵字

    【python基礎(chǔ)】循環(huán)語句-break關(guān)鍵字

    break,其作用是在循環(huán)中的代碼塊遇到此,立刻跳出整個循環(huán),執(zhí)行循環(huán)外的下一條語句。 其在while和for循環(huán)中的作用示意圖如下: 比如我們通過鍵盤輸入單詞,輸出剛才的單詞,編寫程序如下所示: 我們發(fā)現(xiàn)當(dāng)我們輸入除了quit和break這兩個單詞之外,輸出結(jié)果

    2024年02月08日
    瀏覽(19)
  • 【python基礎(chǔ)】python中的with關(guān)鍵字及其相關(guān)用法

    【python基礎(chǔ)】python中的with關(guān)鍵字及其相關(guān)用法

    目錄 1.with? 2.上下文管理器? 3.總結(jié) ?4.with torch.no_grad()的用法 在Python中, with 是一個,用于處理上下文管理器(context manager)。上下文管理器是一種對象,它定義了在進(jìn)入和離開某個上下文時應(yīng)該執(zhí)行的操作。 with ?語句使代碼更清晰、更具可讀性, 它簡化了文

    2024年02月16日
    瀏覽(19)
  • Python批量實(shí)現(xiàn)word中查找關(guān)鍵字

    Python批量實(shí)現(xiàn)word中查找關(guān)鍵字

    ?一、背景 ????????在日常辦公和文檔處理中,我們常常需要在大量的Word文檔中查找特定的,然后進(jìn)行接下來的操作,比如替換等。手動逐個打開并搜索文檔顯然是費(fèi)時費(fèi)力的。因此,利用Python編寫一個批量實(shí)現(xiàn)Word中查找的程序可以大大提高效率和減

    2024年02月16日
    瀏覽(127)
  • Python 中的==操作符 和 is關(guān)鍵字

    Python 中的==操作符 和 is關(guān)鍵字

    Python是一種功能強(qiáng)大的通用編程語言,提供了各種比較值和對象的方法。其中包括==操作符和is,它們的用途不同,但由于它們有時可以達(dá)到相同的目的,所以經(jīng)常會被混淆。在本文中,我們將深入研究==和is之間的區(qū)別,探索它們?nèi)绾喂ぷ饕约昂螘r適當(dāng)?shù)厥褂盟鼈儭?/p>

    2024年02月03日
    瀏覽(20)
  • Python吳恩達(dá)深度學(xué)習(xí)作業(yè)24 -- 語音識別關(guān)鍵字

    Python吳恩達(dá)深度學(xué)習(xí)作業(yè)24 -- 語音識別關(guān)鍵字

    在本周的視頻中,你學(xué)習(xí)了如何將深度學(xué)習(xí)應(yīng)用于語音識別。在此作業(yè)中,你將構(gòu)建語音數(shù)據(jù)集并實(shí)現(xiàn)用于檢測(有時也稱為喚醒詞或觸發(fā)詞檢測)的算法。識別是一項(xiàng)技術(shù),可讓諸如Amazon Alexa,Google Home,Apple Siri和Baidu DuerOS之類的設(shè)備在聽到某個特定單詞時回

    2024年02月11日
    瀏覽(21)
  • Python批量替換Excel和Word中的關(guān)鍵字

    有時,我們手頭上有多個Excel或者Word文件,但是領(lǐng)導(dǎo)突然要求對某幾個術(shù)語進(jìn)行批量的修改,你是不是有要崩潰的感覺。因?yàn)檫@么多文件,要一個一個地打開文件,再進(jìn)行批量替換修改,幾個文件還好,如果是成百上千的文件,我想你一會兒就感覺自己被搞暈了,不僅搞不清

    2024年02月12日
    瀏覽(156)
  • python中自定義異常/raise關(guān)鍵字拋出異常

    在編程過程中合理的使用異常可以使得程序正常的執(zhí)行。有直接拋出異常的形式,也能通過捕獲異常加入異常時的業(yè)務(wù)邏輯處理。 創(chuàng)建自定義異常類案例 使用raise拋出異常案例 raise拋出異常主要是為了在特定的條件。 在調(diào)用throw_exception函數(shù)后,傳入值為10時則拋

    2024年02月03日
    瀏覽(21)
  • Python UI自動化 —— 關(guān)鍵字+excel表格數(shù)據(jù)驅(qū)動

    Python UI自動化 —— 關(guān)鍵字+excel表格數(shù)據(jù)驅(qū)動

    1. 對selenium進(jìn)行二次封裝,創(chuàng)建的庫 2. 準(zhǔn)備一個表格文件來寫入所有測試用例步驟 3. 對表格內(nèi)容進(jìn)行讀取,使用映射關(guān)系來對用例進(jìn)行調(diào)用執(zhí)行 ? ? 4. 執(zhí)行用例 1. 對selenium進(jìn)行二次封裝,創(chuàng)建的庫 2. 創(chuàng)建一個表格,寫入測試步驟 將表格放入項(xiàng)目任意路徑下,記

    2024年02月09日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包