国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python解惑之True和False詳解

2019-11-25 16:13:56
字體:
來源:轉載
供稿:網友

前言

眾所周知在Python 中常用的數據類型bool(布爾)類型的實例對象(值)就兩個,真和假,分別用True和False表示。在if 條件判斷和while 語句中經常用到,不過在Python2.x 中,True 和False 卻有著奇怪的用法,就是真假可以相互被替換

先看下面代碼:

>>> TrueTrue>>> FalseFalse>>> if True:...  print True... True>>> if not False:...  print False... False

這段代碼邏輯理解起來沒任何問題,if 判斷中只要表達式的值返回 True,就執行if 代碼塊中的語句。再來看下一段代碼:

>>> True, False = False, True>>> TrueFalse>>> FalseTrue>>> if not True:...  print False... True>>> if False:...  print True... False>>> 

我把True 和False 互換了一下,就是傳說中的顛倒是非黑白。真變成了假,假變成了真。于是在條件判斷中,表達式的值返回False才執行代碼塊中的語句。究竟是什么原因呢?

解惑

在Python2.7 中,True和False是兩個內建(built-in)變量,內建變量和普通自定義的變量如a, b, c一樣可以被重新賦值,因此我們可以把這兩個變量進行任意的賦值,比如:

True = 2False = "abc"

甚至是True和False進行互換

tmp = TrueTrue = FalseFalse = tmp

互換后變量True指向了假對象,False指向了真對象:

 

因此,在Python 中我們不要隨意給True 和False 賦新的值,否則程序代碼邏輯都會亂套了。這也算是Python2.x 中一個坑,不過在Python3.x 中,終于把這個兩變量變成了關鍵字,也就是說,程序員再也沒法給這兩變量賦新的值了,從此True永遠指向真對象,False指向假對象,永不分離。用keyword模塊檢測True 和False 是否為關鍵字。

>>> import keyword>>> keyword.iskeyword('True')False

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者使用python能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對武林網的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 龙井市| 阿尔山市| 博客| 黄梅县| 霍州市| 正蓝旗| 德惠市| 阿拉善右旗| 新绛县| 隆回县| 太湖县| 疏附县| 镇平县| 景洪市| 沁水县| 罗定市| 咸丰县| 嘉祥县| 双峰县| 洞头县| 麻栗坡县| 乐业县| 陕西省| 吉木乃县| 新民市| 清苑县| 德昌县| 四会市| 平潭县| 临江市| 大荔县| 叙永县| 商河县| 沁源县| 安岳县| 临猗县| 洛扎县| 宝鸡市| 栖霞市| 广西| 富顺县|