python-邏輯運算:not\and\or和布爾值:True\False

這是昨天給貼吧一個網(wǎng)友問題的回答。一寫就給寫多了胡诗,就當(dāng)是今天的文了邓线。
現(xiàn)在自己的話好像越來越多。煌恢。骇陈。。瑰抵。

這東西在每一個語言都有你雌,and or not 對應(yīng)與、或谍憔、非三種邏輯運算匪蝙;True和False是bool值主籍,即真和假。
邏輯運算和布爾值經(jīng)常用于if判斷語句逛球、循環(huán)語句的條件語句千元。
首先作為控制條件應(yīng)該是一個布爾值,即真和假——True和false颤绕。
python的內(nèi)置類——布爾類幸海,只有兩個實例:True和false。對于一般數(shù)字而言奥务,0是False物独,非0是True;對于序列和容器類型氯葬,如列表挡篓、字典、字符串等帚称,空為False官研,非空為True。
所以就有了這樣的用法:


if 1:
    print("1 為True") 

輸出:1 為True


if 0:
    print("不會進入這個分支")
else:
    print("0 為 False")

輸出: 0 為 False


a = '字符串'
b = '' # 空字符
if a:
    print("a = ",a)
elif b:
    print("b 為空闯睹,不會有輸出")
else:
    print("因為a非空戏羽,這里不會輸出")

輸出:a = '字符串'

這了可以看出一個實例本身可以作為控制條件,這是因為楼吃,解釋器會先把這個實例轉(zhuǎn)換為bool類型始花,然后根據(jù)這個bool類型執(zhí)行程序。即bool(a) = True孩锡、bool(b) = False酷宵。
但是只用這樣的方式控制程序顯然不夠,比如我希望a為空浮创,b為非空的時候忧吟,我輸出“我天下第一”,這怎么辦斩披?
如果不用not and or 就會寫成這樣:


a = "" # 空字符
b = '非空' 
if a: 
    pass # a 為空,不會進來執(zhí)行
else:
    # 這里是a 為空的情況
    if b:
        print("我天下第一")
    else:
        pass

輸出:我天下第一
可以把a 看成False溜族,b看成True。
從這里我們可以看到垦沉,我們用了兩層if--else語句來判斷a為空煌抒,b為非空的情況,那么我用邏輯運算呢厕倍?


a = ""
b = '非空' # 空字符
if not a and b:
    print("我天下第一")

輸出:我天下第一
一樣的:可以把a 看成False寡壮,b看成True。那么not a and b的意思就是:not False and True
這時候就是邏輯運算符的優(yōu)先級的問題,這可以借鑒C語言的那本書《C程序設(shè)計》第五版的第92頁


况既!非
算數(shù)運算符
關(guān)系運算符
&& 和 ||
賦值運算符


運算優(yōu)先級從上到下这溅,越來越低。
這是C語言里的棒仍,在python里就是:


not -------------->高
and 和 or ---------->低


所以我們先算not
于是 not False and True 就成所以了True and True這就很清楚了結(jié)果為True悲靴,所以“我天下第一”。
所以我們就可以總結(jié)出:
1.先將實例變?yōu)椴紶栔?br> 2.在計算所有的not
3.根據(jù)語言特性莫其,從左到右或者從右到左計算邏輯運算結(jié)果癞尚。
當(dāng)然在python中是從左到右。

catuionB叶浮=娇!憨颠!

and 和 or 運算具有短路保護胳徽!什么意思呢?看一個栗子


1 or a
or的左邊是1也就是True烙心,根據(jù)or的運算法則膜廊,只要有一個真則為真,所以不管a是真還是假淫茵,結(jié)果都是真。


0 and a
and 左邊為0蹬跃,為False匙瘪,同樣,and只要有一個為假則為假蝶缀,所以不管a是真還是假丹喻,結(jié)果都是假。
所以and 和 or 的結(jié)果可以根據(jù)第一個操作數(shù)的值來確定翁都,那么他就不會對第二個操作數(shù)進行運算碍论。
這個功能用起來要很小心,不然很可能會出現(xiàn)想不到的結(jié)果柄慰。

現(xiàn)在我們可以看一下這個例子:

x = True
y = False
z = False
if x or y and z:
    print("我天下第一")
else:
    print("我不是天下第一")

這里會輸出什么呢鳍悠?
輸出:我天下第一

因為x是True,無論y and z 的結(jié)果是什么坐搔,這個語句的結(jié)果都是True藏研,這就是短路保護,當(dāng)然也有的人說惰性計算概行。

我覺得迭代器蠢挡、生成器那個才叫惰性計算。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市业踏,隨后出現(xiàn)的幾起案子禽炬,更是在濱河造成了極大的恐慌,老刑警劉巖勤家,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件腹尖,死亡現(xiàn)場離奇詭異,居然都是意外死亡却紧,警方通過查閱死者的電腦和手機桐臊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來晓殊,“玉大人断凶,你說我怎么就攤上這事∥装常” “怎么了认烁?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長介汹。 經(jīng)常有香客問我却嗡,道長,這世上最難降的妖魔是什么嘹承? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任窗价,我火速辦了婚禮,結(jié)果婚禮上叹卷,老公的妹妹穿的比我還像新娘撼港。我一直安慰自己,他們只是感情好骤竹,可當(dāng)我...
    茶點故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布帝牡。 她就那樣靜靜地躺著,像睡著了一般蒙揣。 火紅的嫁衣襯著肌膚如雪靶溜。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天懒震,我揣著相機與錄音罩息,去河邊找鬼。 笑死挎狸,一個胖子當(dāng)著我的面吹牛扣汪,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播锨匆,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼崭别,長吁一口氣:“原來是場噩夢啊……” “哼冬筒!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起茅主,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤舞痰,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后诀姚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體响牛,經(jīng)...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年赫段,在試婚紗的時候發(fā)現(xiàn)自己被綠了呀打。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,498評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡糯笙,死狀恐怖贬丛,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情给涕,我是刑警寧澤豺憔,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站够庙,受9級特大地震影響恭应,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜耘眨,卻給世界環(huán)境...
    茶點故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一昼榛、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧剔难,春花似錦褒纲、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽衫嵌。三九已至读宙,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間楔绞,已是汗流浹背结闸。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留酒朵,地道東北人桦锄。 一個月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像蔫耽,于是被迫代替她去往敵國和親结耀。 傳聞我的和親對象是個殘疾皇子留夜,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,507評論 2 359

推薦閱讀更多精彩內(nèi)容

  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi閱讀 7,345評論 0 10
  • Lua 5.1 參考手冊 by Roberto Ierusalimschy, Luiz Henrique de F...
    蘇黎九歌閱讀 13,835評論 0 38
  • 自領(lǐng)導(dǎo)事務(wù)重于學(xué)術(shù)事務(wù)以來,我的歲末敘事就越來越簡潔——不可說的話越來越多图甜,說得清的事越來越少碍粥。 我肖雞,2017...
    干國祥備課老干閱讀 2,597評論 29 47
  • 行走文字間黑毅,冥冥中的安排嚼摩,歲月無聲,回首有痕矿瘦。 陌上紅塵枕面,遇上誰,愛上誰缚去,傷了誰潮秘,離開誰,誰又是誰的誰病游?那些關(guān)于愛...
    淡水云煙2017閱讀 231評論 0 6
  • 嘿嘿唇跨,建了個金錢整理群^_^對從金融知識、消費習(xí)慣覺察衬衬、內(nèi)在天賦探索买猖、障礙卡點療愈等關(guān)于金錢的各個層面上改變自己金...
    Teresa玉恩閱讀 242評論 0 0