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

2021-10-05 19:27:17 字數 1391 閱讀 3366

布林值:

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

比較運算子:

所有比較運算子返回1表示真,返回0表示假,這分別於特殊變數true和false等價。

以下假設變數a=3  ,變數b=10:   

運算子描述

例項==

等於=比較物件的值是否相等

(a==b) 返回false

!=不等於,比較兩個物件的值是否不相等

(a!=b) 返回true

>

大於,返回a是否大於b

(a>b) 返回false

>

小於,返回a是否小於b

(a>=

大於等於,返回a是否大於等於b

(a>=b) 返回false

<=

小於等於,返回a是否小於等於b

(a<=b) 返回true

邏輯運算子:

運算子格式說明

or邏輯  或

x or y

x為true,則返回  true

x為false,則返回  y

and邏輯 與

x and y

x為true,則返回  y的值

x為false,則返回  false

not邏輯 非

not  x

x為true,則返回  false

x為false,則返回  true

同一運算子:

同一運算子用於比較兩個物件的儲存單元,實際比較的是物件位址。

運算子描述

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

is not

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

is與==區別:

is  用於判斷兩個變數引用的物件是否為同乙個,既比較物件的位址

==  用於判斷引用變數引用物件的值是否相等,預設呼叫物件__eq__()方法

整數快取問題:

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

總結一下:

1.is比較兩個物件的id資訊是否一致,是否指向同乙個記憶體位址

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

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

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

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

python2 中沒有布林值,直接用數字 0 表示 false,用數字 1 表示 true。python3 中,把 true 和 false 定義成了關鍵字,但他們的本質還是 1 和 0,甚至可以和數字相加。a true b 3 a b 4 bool 3 true bool false運算子 描述 ...

JS運算子 算術運算子 比較運算子 賦值運算子

兩邊的變數都是number型別 則是單純的加法運算 當字串出現時 結果是字串型別 字串之後的內容 不論什麼型別 都會被作為字串進行拼接 例子 var num1 10 var num2 20 num num1 num2 var result num1 num2 num1 false console.l...

mysql運算子,比較運算子

我也是菜鳥,也是新手,一起學習,一起進步,加油 首先 比較運算子,進行比較之後的 結果如果為真 返回1,結果為假 返回 0 一下為常用的,最基礎的一些沒有列出來 或 不等於 null 的安全等於 null safe between 存在於指定範圍 in存在於指定集合 is null 為 null i...