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

首頁(yè) > 編程 > Python > 正文

Python解惑之True和False詳解

2020-02-23 04:35:48
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

前言

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

先看下面代碼:

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

這段代碼邏輯理解起來(lái)沒(méi)任何問(wèn)題,if 判斷中只要表達(dá)式的值返回 True,就執(zhí)行if 代碼塊中的語(yǔ)句。再來(lái)看下一段代碼:

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

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

解惑

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

True = 2False = "abc"

甚至是True和False進(jìn)行互換

tmp = TrueTrue = FalseFalse = tmp

互換后變量True指向了假對(duì)象,F(xiàn)alse指向了真對(duì)象:

 

因此,在Python 中我們不要隨意給True 和False 賦新的值,否則程序代碼邏輯都會(huì)亂套了。這也算是Python2.x 中一個(gè)坑,不過(guò)在Python3.x 中,終于把這個(gè)兩變量變成了關(guān)鍵字,也就是說(shuō),程序員再也沒(méi)法給這兩變量賦新的值了,從此True永遠(yuǎn)指向真對(duì)象,F(xiàn)alse指向假對(duì)象,永不分離。用keyword模塊檢測(cè)True 和False 是否為關(guān)鍵字。

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

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者使用python能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)武林站長(zhǎng)站的支持。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 濮阳县| 乌拉特中旗| 台中市| 雷山县| 汾西县| 灯塔市| 明星| 吴忠市| 丰都县| 罗甸县| 虞城县| 建平县| 宁夏| 定远县| 崇州市| 根河市| 威远县| 惠州市| 吉水县| 电白县| 威远县| 秦安县| 循化| 玉溪市| 商南县| 梁山县| 获嘉县| 天等县| 荣昌县| 莱西市| 承德市| 任丘市| 渝北区| 炎陵县| 邻水| 桦川县| 玉溪市| 恩施市| 溆浦县| 马边| 吉安县|