Python使用not運(yùn)算符對(duì)布爾值取反的方法
在 Python 中,對(duì)布爾值取反最直接的方法是使用邏輯運(yùn)算符 not。以下是詳細(xì)說(shuō)明和示例:
1. 基本用法
a = True b = not a # b 的值為 False c = False d = not c # d 的值為 True
2. 非布爾值的取反
當(dāng)操作數(shù)是非布爾值(如整數(shù)、字符串、列表等)時(shí),Python 會(huì)先將其轉(zhuǎn)換為布爾值(通過(guò) bool() 函數(shù)),再取反:
print(not 0) # 0 → False → True print(not 1) # 1 → True → False print(not []) # 空列表 → False → True print(not [1,2]) # 非空列表 → True → False print(not "") # 空字符串 → False → True print(not "abc") # 非空字符串 → True → False
3. 實(shí)際場(chǎng)景示例
# 條件判斷中取反
is_raining = True
if not is_raining:
print("帶傘出門(mén)") # 條件不成立時(shí)不執(zhí)行
# 簡(jiǎn)化代碼邏輯
user_input = ""
if not user_input: # 等價(jià)于 if user_input == ""
print("輸入為空")
4. 注意事項(xiàng)
not是邏輯運(yùn)算符,返回值為布爾類(lèi)型(True或False)。- 不要與按位取反操作符
~混淆(~用于整數(shù),如~1返回-2)。 - 在鏈?zhǔn)綏l件中,
not的優(yōu)先級(jí)高于and和or,可通過(guò)括號(hào)明確順序:
not a and b # 等價(jià)于 (not a) and b not (a and b) # 需用括號(hào)改變優(yōu)先級(jí)
5. 擴(kuò)展:自定義對(duì)象的布爾轉(zhuǎn)換
重寫(xiě) __bool__() 方法可控制對(duì)象在布爾上下文中的行為:
class MyClass:
def __bool__(self):
return False # 對(duì)象在布爾上下文中始終視為 False
obj = MyClass()
print(not obj) # 輸出 True
通過(guò) not 運(yùn)算符,你可以高效地實(shí)現(xiàn)邏輯反轉(zhuǎn),這是 Python 中處理?xiàng)l件邏輯的核心操作之一。
到此這篇關(guān)于Python使用not運(yùn)算符對(duì)布爾值取反的方法的文章就介紹到這了,更多相關(guān)Python not布爾值取反內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python中號(hào)稱(chēng)神仙的六個(gè)內(nèi)置函數(shù)詳解
這篇文章主要介紹了Python中號(hào)稱(chēng)神仙的六個(gè)內(nèi)置函數(shù),今天分享的這6個(gè)內(nèi)置函數(shù),在使用?Python?進(jìn)行數(shù)據(jù)分析或者其他復(fù)雜的自動(dòng)化任務(wù)時(shí)非常方便,需要的朋友可以參考下2022-05-05
Python實(shí)現(xiàn)SVM支持向量機(jī)的示例代碼
SVM 的目的是在數(shù)據(jù)集中找到一條最佳分隔超平面,使得在這個(gè)超平面兩側(cè)的數(shù)據(jù)分別屬于不同的類(lèi)別,且該超平面與最近的數(shù)據(jù)點(diǎn)之間的距離最大。本文將通過(guò)Python實(shí)現(xiàn)SVM支持向量機(jī),感興趣的可以了解一下2023-02-02
django數(shù)據(jù)庫(kù)migrate失敗的解決方法解析
這篇文章主要介紹了django數(shù)據(jù)庫(kù)migrate失敗的解決方法解析,分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-02-02
Python3網(wǎng)絡(luò)爬蟲(chóng)中的requests高級(jí)用法詳解
本節(jié)我們?cè)賮?lái)了解下 Requests 的一些高級(jí)用法,如文件上傳,代理設(shè)置,Cookies 設(shè)置等等。感興趣的朋友跟隨小編一起看看吧2019-06-06
用Python的SimPy庫(kù)簡(jiǎn)化復(fù)雜的編程模型的介紹
這篇文章主要介紹了用Python的SimPy庫(kù)簡(jiǎn)化復(fù)雜的編程模型的介紹,本文來(lái)自于官方的開(kāi)發(fā)者技術(shù)文檔,需要的朋友可以參考下2015-04-04
python不同版本的_new_不同點(diǎn)總結(jié)
在本篇內(nèi)容里小編給大家整理了一篇關(guān)于python不同版本的_new_不同點(diǎn)總結(jié)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。2020-12-12
淺談pytorch和Numpy的區(qū)別以及相互轉(zhuǎn)換方法
今天小編就為大家分享一篇淺談pytorch和Numpy的區(qū)別以及相互轉(zhuǎn)換方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07
Python實(shí)現(xiàn)圖數(shù)據(jù)處理的完整指南
圖是一種非常重要的數(shù)據(jù)結(jié)構(gòu),在Python中,我們可以使用鄰接矩陣來(lái)表示圖,這篇文章主要為大家介紹了Python實(shí)現(xiàn)圖數(shù)據(jù)處理的相關(guān)知識(shí),需要的可以參考下2024-04-04
tensorflow如何繼續(xù)訓(xùn)練之前保存的模型實(shí)例
今天小編就為大家分享一篇tensorflow如何繼續(xù)訓(xùn)練之前保存的模型實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01
python opencv旋轉(zhuǎn)圖像(保持圖像不被裁減)
這篇文章主要為大家詳細(xì)介紹了python opencv旋轉(zhuǎn)圖像,保持圖像不被裁減,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07

