筆記 005 布林值 比較運算子 邏輯運算子

2021-10-09 12:23:06 字數 2513 閱讀 4603

python2 中沒有布林值,直接用數字 0 表示 false,用數字 1 表示 true。

python3 中,把 true 和 false 定義成了關鍵字,但他們的本質還是 1 和 0,甚至可以和數字相加。

>>

> a =

true

>>

> b =

3>>

> a+b

4

>>

>

bool(3

)true

>>

>

bool()

false

運算子

描述==

等於 (區分:「=」的含義是「賦值」,)

!=不等於

>

大於<

小於》=

大於等於

<=

小於等於

運算子格式

計算邏輯

or 或

x or y

x 為 true,則不計算 y,直接返回 true;x 為 false,則返回 y

and 且

x and y

x 為 true,則返回 y 的值;x 為 false,則不計算 y,直接返回 false

not 非

not x

x 為 true,返回 false;x 為 false,返回 true

>>

> a =

true

#true和false首字母要大寫

>>

> b =

false

>>

> a or b

true

>>

> a or10/

0true

>>

>10/

0or a

traceback (most recent call last)

: file ""

, line 1,in

10/0or a

zerodivisionerror: division by zero

>>

>

#後兩節,很好的闡釋了or的計算邏輯

>>

> a =

true

>>

> b =

false

>>

> a and

3030

>>

>

30and a #非空即true

true

>>

> b and

30false

>>

>

30and b

false

>>

> a =

true

>>

> b =

false

>>

>

not a

false

>>

>

not b

true

運算子

描述is

is 是判斷兩個識別符號是不是引用同乙個物件

is not

is not 是判斷兩個識別符號是不是引用不同物件

整數快取問題

python 僅僅對比較小的整數物件進行快取(範圍為[-5, 256])快取起來,而並非是所有整數物件。需要注意的是,這僅僅是在命令列中執行,而在 pycharm 或者儲存為檔案執行,結果是不一樣的,這是因為直譯器做了一部分優化(範圍是[-5,任意正整數])。

·總結1、is 比較兩個物件的 id 值是否相等,是否指向同乙個記憶體位址;

2、== 比較的是兩個物件的內容是否相等,值是否相等;

3、小整數物件[-5,256]在全域性直譯器範圍內被放入快取供重複使用;

4、is 運算子比 == 效率高,在變數和 none 進行比較時,應該使用 is。

>>

> a =

1000

#1000不在全域性直譯器的快取區間內

>>

> b =

1000

>>

> a == b

true

>>

> a is b #易錯點:儲存為檔案之後,輸出結果為true

false

>>

>

id(a)

46764560

>>

>

id(b)

46765216

>>

> c =

10#10在全域性直譯器的快取區間內

>>

> d =

10>>

> c is d

true

>>

>

id(c)

1388831648

>>

>

id(d)

1388831648

布林值 比較運算子 同一運算子以及整數快取問題

布林值 在python3中,把true和false定義成了關鍵字,但本質還是1和0,甚至可以數字相加。比較運算子 所有比較運算子返回1表示真,返回0表示假,這分別於特殊變數true和false等價。以下假設變數a 3 變數b 10 運算子描述 例項 等於 比較物件的值是否相等 a b 返回false...

布林邏輯運算子

是的,我說的就是這幾個 普通與 短路與 普通或 短路或 為什麼叫 短路 呢?普通與 短路與 普通或 短路或 這個短路是形象的說法,採用 了初中物理的乙個名詞,這樣叫,只是為了更好的區分它們。短路的意思 可以理解為 當線路出現問題,有些器件不會執行。同理 1.當在 a b 條件下,當a為false時,...

布林邏輯運算子之「 」和「 」

和 是布林邏輯運算子中的邏輯或及邏輯與 1 只要 前面為false,無論 後面是true還是false,結果都返回 後面的值。2 只要 前面為true,無論 後面是true還是false,結果都返回 前面的值。3 只要 前面是false,無論 後面是true還是false,結果都將返 前面的值 4 ...