摘要:一直以來,我以為中和的返回值是或。在布爾表達(dá)式環(huán)境下為假,其他任何東西都為真如果運(yùn)算中,所有的值都為真,那么返回最后一個值。如如果某個值為假,那么立即返回該假值短路運(yùn)算,如類似的。
一直以來,我以為python中and和or的返回值是True或False。
看 《Dive into Python》這本書時,發(fā)現(xiàn)他們并不返回布爾值,而是返回他們實(shí)際進(jìn)行比較的值之一。
and根據(jù)自己已經(jīng)掌握的知識,設(shè)想下如下代碼的運(yùn)算結(jié)果:
"a" and "b" "" and "b" "a" and "b" and "c"
根據(jù)python的定義,在沒有看這部分內(nèi)容之前,我認(rèn)為答案分別為True,False,True。其實(shí)運(yùn)行之后才發(fā)現(xiàn)應(yīng)該是這樣的:
Python 2.7.13+ (default, Jul 19 2017, 18:15:03) [GCC 6.4.0 20170704] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> "a" and "b" "b" >>> "" and "b" "" >>> "a" and "b" and "c" "c" >>>
原因如下:
and運(yùn)算時,從左到右演算表達(dá)式的值。0, "", [], {}, None在布爾表達(dá)式環(huán)境下為假,其他任何東西都為真
如果and運(yùn)算中,所有的值都為真,那么and返回最后一個值。如:"a" and "b"
如果某個值為假,那么and立即返回該假值(短路運(yùn)算),如:"" and "b"
or類似的。or的規(guī)則如下:
從左到右演算
如果有一個值為真,立即返回該值
所有所有的值都為假,返回最后一個假值
本文作者: Yarving Liu
本文鏈接: http://yarving.historytale.co...
版權(quán)聲明: 本博客所有文章除特別聲明外,均采用 CC BY-NC-SA 4.0 許可協(xié)議。轉(zhuǎn)載請注明出處!
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/41902.html
摘要:問題出現(xiàn)中的,運(yùn)算,可以寫出比較復(fù)雜的演算表達(dá)式看了一些大神的演算規(guī)則解釋,覺得不是很好理解,有些人甚至理解錯了規(guī)則。特殊情況當(dāng)表達(dá)式的所有值都是真值,并且運(yùn)算符不全部一致,那么第一個或演算完后直接返回。 問題出現(xiàn): Python 中的 or,and 運(yùn)算,可以寫出比較復(fù)雜的演算表達(dá)式; 看了一些大神的演算規(guī)則解釋,覺得不是很好理解,有些人甚至理解錯了規(guī)則。 這里聊一下自己的理解。 ...
摘要:例如布爾值只有兩種值。在中,可以直接使用表示布爾值注意大小寫布爾值可以用和進(jìn)行運(yùn)算,即數(shù)學(xué)里的與或非。三轉(zhuǎn)義字符轉(zhuǎn)義字符表轉(zhuǎn)在字符串前加上,則表示接下來的字符串中不進(jìn)行轉(zhuǎn)義,強(qiáng)制原型輸出。在中,通常用全部大寫的變量名表示常量。 今天做下搬運(yùn)工,把jianshu的直接搬過來調(diào)整下jianshu地址:[Python語法基礎(chǔ)[1]: https://www.jianshu.com/p/31...
摘要:學(xué)習(xí)也有一個多月的時間了,剛開始的想法是每天把學(xué)習(xí)的東西總結(jié)一下,可是還是沒有養(yǎng)成好習(xí)慣,所以最近開始,我會把一些學(xué)習(xí)的重點(diǎn)發(fā)出來,當(dāng)然前提是我認(rèn)為。 學(xué)習(xí)python也有一個多月的時間了,剛開始的想法是每天把學(xué)習(xí)的東西總結(jié)一下,可是還是沒有養(yǎng)成好習(xí)慣,所以最近開始,我會把一些學(xué)習(xí)的重點(diǎn)發(fā)出來,當(dāng)然前提是我認(rèn)為。廢話不多說,給大家說一下這篇文章的主題not、and、or相信大多數(shù)學(xué)過編...
摘要:系列文章工匠善用變量改善代碼質(zhì)量序言編寫條件分支代碼是編碼過程中不可或缺的一部分。而進(jìn)行條件分支判斷時用到的也是這個值重點(diǎn)來了,雖然所有用戶類實(shí)例的布爾值都是真。 歡迎大家前往騰訊云+社區(qū),獲取更多騰訊海量技術(shù)實(shí)踐干貨哦~ 本文由鵝廠優(yōu)文發(fā)表于云+社區(qū)專欄 作者:朱雷 | 騰訊IEG高級工程師 『Python 工匠』是什么? 我一直覺得編程某種意義是一門『手藝』,因為優(yōu)雅而高效的代碼...
摘要:另外還有一種數(shù)據(jù)類型叫做布爾類型。布爾類型布爾類型是計算機(jī)中最基本的類型,它是計算機(jī)二進(jìn)制世界的體現(xiàn),一切都是和。中的布爾類型只有兩種值和。 計算機(jī)的本質(zhì)就是計算,在其內(nèi)部是0和1的比特位的變化,對外表現(xiàn)就是數(shù)據(jù)的變化。那么,計算機(jī)都能處理什么數(shù)據(jù)呢?本質(zhì)上,數(shù)據(jù)都是以字節(jié)(Byte)存儲的,表現(xiàn)上看,它們就是整數(shù)、浮點(diǎn)數(shù)和字符串等。Python的基本數(shù)據(jù)類型也不外乎于此。 整數(shù)和浮點(diǎn)...
閱讀 638·2021-11-25 09:43
閱讀 1906·2021-11-17 09:33
閱讀 824·2021-09-07 09:58
閱讀 2062·2021-08-16 10:52
閱讀 482·2019-08-30 15:52
閱讀 1722·2019-08-30 15:43
閱讀 971·2019-08-30 15:43
閱讀 2922·2019-08-29 16:41