python布林類入門 Python的布林型別

2021-10-12 11:10:24 字數 1296 閱讀 6574

前面我們了解到,布林型別是python的基礎資料型別,布林型別只有true和false兩種值,本節課我們學習布林型別的集中運算。

與運算只有兩個布林值都為 true 時,計算結果才為 true。

true and true # ==> true

true and false # ==> false

false and true # ==> false

false and false # ==> false

或運算只要有乙個布林值為 true,計算結果就是 true。

true or true # ==> true

true or false # ==> true

false or true # ==> true

false or false # ==> false

非運算把true變為false,或者把false變為true:

not true # ==> false

not false # ==> true

這些運算有什麼用呢?電腦程式是由無數的邏輯分支組成的,通過布林運算,可以在計算機中實現條件判斷,根據計算結果為true或者false,計算機可以自動執行不同的後續**,因此學習布林運算也是非常有必要的。

在python中,布林型別還可以與其他資料型別(字串,數字等)做 and、or和not運算,請看下面的**:

a = true

print(a and 0 or 99) # ==> 99

得到的計算結果不是布林型別,而是數字99,這是為什麼呢?

因為python把0、空字串和none看成false,其他數值和非空字串都看成true,所以:

true and 0計算結果是0

繼續計算0 or 99計算結果是 99

因此,結果是99。

需要注意的是,not計算的優先順序是高於and和or的。

true and not false # ==> true

在上述布林計算中,先計算not false = true,然後再計算true and true,因此得到true的結果。

短路計算

在計算a and b時,如果 a 是 false,則根據與運算法則,整個結果必定為 false,因此返回 a;如果 a 是 true,則整個計算結果必定取決與 b,因此返回 b。

在計算a or b時,如果 a 是 true,則根據或運算法則,整個計算結果必定為 true,因此返回 a;如果 a 是 false,則整個計算結果必定取決於 b,因此返回 b。

所以python直譯器在做布林運算時,只要能提前確定計算結果,它就不會往後算了,直接返回結果。

python中建立類role 初識Python類

吐槽 學習物件導向就像你追乙個女神一樣,剛剛有點感覺了,過幾天又陷入絕望的感覺,很蛋疼。類的語法 classperson object print learning class test person test就是類person的例項化物件 例項化,就是以person類為模板,在記憶體裡開闢一塊空間...

兒童python程式設計入門 兒童程式設計python入門

經常會有小朋友問我,我想做個黑客,我該學什麼程式語言?或者有的小朋友會說 我要學c,我要做病毒 其實對於這些小朋友而言他們基本都沒有接觸過程式語言,只是通過影視或者其他地方看到的一些東西認為黑客很酷,超級厲害,因此也萌生了這樣的想法。我也認為黑客很厲害,他們不只是會一門程式語言那麼簡單,要想成為他們...

兒童程式設計python入門 兒童程式設計python入門

經常會有小朋友問我,我想做個黑客,我該學什麼程式語言?或者有的小朋友會說 我要學c,我要做病毒 其實對於這些小朋友而言他們基本都沒有接觸過程式語言,只是通過影視或者其他地方看到的一些東西認為黑客很酷,超級厲害,因此也萌生了這樣的想法。我也認為黑客很厲害,他們不只是會一門程式語言那麼簡單,要想成為他們...