網站首頁 編程語言 正文
一、Python pass語句
在實際開發中,有時候我們會先搭建起程序的整體邏輯結構,但是暫時不去實現某些細節,而是在這些地方加一些注釋,方面以后再添加代碼,
請看下面的例子:
age = int( input("請輸入你的年齡:") ) if age < 12 : ? ? print("嬰幼兒") elif age >= 12 and age < 18: ? ? print("青少年") elif age >= 18 and age < 30: ? ? print("成年人") elif age >= 30 and age < 50: ? ? #TODO: 成年人 else: ? ? print("老年人")
當年齡大于等于 30 并且小于 50 時,我們沒有使用 print() 語句,而是使用了一個注釋,希望以后再處理成年人的情況。當 Python 執行到該 elif 分支時,會跳過注釋,什么都不執行。
但是 Python 提供了一種更加專業的做法,就是空語句 pass
。pass 是 Python 中的關鍵字,用來讓解釋器跳過此處,什么都不做。
就像上面的情況,有時候程序需要占一個位置,或者放一條語句,但又不希望這條語句做任何事情,此時就可以通過 pass 語句來實現。使用 pass
語句比使用注釋更加優雅。
使用 pass 語句更改上面的代碼:
age = int( input("請輸入你的年齡:") ) if age < 12 : ? ? print("嬰幼兒") elif age >= 12 and age < 18: ? ? print("青少年") elif age >= 18 and age < 30: ? ? print("成年人") elif age >= 30 and age < 50: ? ? pass else: ? ? print("老年人")
運行結果:
請輸入你的年齡:40↙
從運行結果可以看出,程序雖然執行到第 10 行代碼,但是并沒有進行什么操作。
二、Python assert斷言函數
Python assert
語句,又稱斷言語句,可以看做是功能縮小版的 if 語句,它用于判斷某個表達式的值,如果值為真,則程序可以繼續往下執行;反之,Python 解釋器會報 AssertionError
錯誤。
assert 語句的語法結構為:
assert 表達式
assert 語句的執行流程可以用 if 判斷語句表示,如下所示:
if 表達式==True:
? ? 程序繼續執行
else:
? ? 程序報 AssertionError 錯誤
有讀者可能會問,明明 assert
會令程序崩潰,為什么還要使用它呢?這是因為,與其讓程序在晚些時候崩潰,不如在錯誤條件出現時,就直接讓程序崩潰,這有利于我們對程序排錯,提高程序的健壯性。
因此,assert 語句通常用于檢查用戶的輸入是否符合規定,還經常用作程序初期測試和調試過程中的輔助工具。
三、Python assert斷言函數用法
下面的程序演示了 assert 語句的用法:
mathmark = int(input()) #斷言數學考試分數是否位于正常范圍內 assert 0 <= mathmark <= 100 #只有當 mathmark 位于 [0,100]范圍內,程序才會繼續執行 print("數學考試分數為:",mathmark)
運行該程序,測試數據如下:
90
數學考試分數為: 90
再次執行該程序,測試數據為:
159 Traceback (most recent call last): ? File "C:\Users\mengma\Desktop\file.py", line 3, in? ? assert 0 <= mathmark <= 100 AssertionError
可以看到,當 assert
語句后的表達式值為真時,程序繼續執行;反之,程序停止執行,并報 AssertionError
錯誤。
原文鏈接:https://ruikezhishiyun.blog.csdn.net/article/details/123683049
相關推薦
- 2022-11-28 linux?iptables防火墻中的工作常用命令_linux shell
- 2022-12-11 Rust?Aya?框架編寫?eBPF?程序_Rust語言
- 2022-05-06 Python面向對象中的封裝詳情_python
- 2022-12-21 React?之最小堆min?heap圖文詳解_React
- 2022-11-13 Python中torch.load()加載模型以及其map_location參數詳解_python
- 2022-04-28 Python中自定義函方法與參數具有默認值的函數_python
- 2022-11-18 詳解Pandas如何高效對比處理DataFrame的兩列數據_python
- 2022-11-13 使用git?checkout到歷史某個版本_相關技巧
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支