您好,登錄后才能下訂單哦!
這篇文章主要介紹“有哪些Python運算符”,在日常操作中,相信很多人在有哪些Python運算符問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”有哪些Python運算符”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
=
是 Python 中最常見、最基本的賦值運算符,用來將一個表達式的值賦給另一個變量。
Python 中的賦值表達式也是有值的,它的值就是被賦的那個值,或者說是左側(cè)變量的值;如果將賦值表達式的值再賦值給另外一個變量,這就構(gòu)成了連續(xù)賦值。
注意:
= 和 == 是兩個不同的運算符,= 用來賦值,而 == 用來判斷兩邊的值是否相等,千萬不要混淆 。
=
還可與其他運算符(包括算術(shù)運算符、位運算符和邏輯運算符)相結(jié)合,擴展成為功能更加強大的賦值運算符,如下表:
運算符 | 說 明 | 用法舉例 | 等價形式 |
---|---|---|---|
= | 最基本的賦值運算 | x = y | x = y |
+= | 加賦值 | x += y | x = x + y |
-= | 減賦值 | x -= y | x = x - y |
*= | 乘賦值 | x *= y | x = x * y |
/= | 除賦值 | x /= y | x = x / y |
%= | 取余數(shù)賦值 | x %= y | x = x % y |
**= | 冪賦值 | x **= y | x = x ** y |
//= | 取整數(shù)賦值 | x //= y | x = x // y |
&= | 按位與賦值 | x &= y | x = x & y |
|= | 按位或賦值 | x |= y | x = x | y |
^= | 按位異或賦值 | x ^= y | x = x ^ y |
<<= | 左移賦值 | x <<= y | x = x << y,這里的 y 指的是左移的位數(shù) |
>>= | 右移賦值 | x >>= y | x = x >> y,這里的 y 指的是右移的位數(shù) |
Python 位運算符只能用來操作整數(shù)類型,它按照整數(shù)在內(nèi)存中的二進制形式進行計算。Python 支持的位運算符如下表所示:
位運算符 | 說明 | 使用形式 | 舉 例 |
---|---|---|---|
& | 按位與 | a & b | 4 & 5 |
| | 按位或 | a | b | 4 | 5 |
^ | 按位異或 | a ^ b | 4 ^ 5 |
~ | 按位取反 | ~a | ~4 |
<< | 按位左移 | a << b | 4 << 2,表示整數(shù) 4 按位左移 2 位 |
>> | 按位右移 | a >> b | 4 >> 2,表示整數(shù) 4 按位右移 2 位 |
按位與運算符&
的運算規(guī)則是:只有參與&
運算的兩個位都為 1 時,結(jié)果才為 1,否則為 0。例如1&1
為 1,0&0
為 0,1&0
也為 0,這和邏輯運算符&&
非常相似。
第一個Bit位 | 第二個Bit位 | 結(jié)果 |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
按位或運算符|
的運算規(guī)則是:兩個二進制位有一個為 1 時,結(jié)果就為 1,兩個都為 0 時結(jié)果才為 0。例如1|1
為 1,0|0
為0,1|0 為1,這和邏輯運算中的||
非常類似。
第一個Bit位 | 第二個Bit位 | 結(jié)果 |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
按位異或運算^
的運算規(guī)則是:參與運算的兩個二進制位不同時,結(jié)果為 1,相同時結(jié)果為 0。例如0^1
為 1,0^0
為 0,1^1
為 0。
第一個Bit位 | 第二個Bit位 | 結(jié)果 |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
按位取反運算符~
為單目運算符(只有一個操作數(shù)),右結(jié)合性,作用是對參與運算的二進制位取反。例如~1
為0,~0
為1,這和邏輯運算中的!
非常類似。
Python 左移運算符<<
用來把操作數(shù)的各個二進制位全部左移若干位,高位丟棄,低位補 0。
Python 右移運算符>>
用來把操作數(shù)的各個二進制位全部右移若干位,低位丟棄,高位補 0 或 1。如果數(shù)據(jù)的最高位是 0,那么就補 0;如果最高位是 1,那么就補 1。
Python支持的比較運算符如下表所示:
比較運算符 | 說明 |
---|---|
> | 大于,如果> 前面的值大于后面的值,則返回 True,否則返回 False。 |
< | 小于,如果< 前面的值小于后面的值,則返回 True,否則返回 False。 |
== | 等于,如果== 兩邊的值相等,則返回 True,否則返回 False。 |
>= | 大于等于(等價于數(shù)學(xué)中的 ≥),如果>= 前面的值大于或者等于后面的值,則返回 True,否則返回 False。 |
<= | 小于等于(等價于數(shù)學(xué)中的 ≤),如果<= 前面的值小于或者等于后面的值,則返回 True,否則返回 False。 |
!= | 不等于(等價于數(shù)學(xué)中的 ≠),如果!= 兩邊的值不相等,則返回 True,否則返回 False。 |
is | 判斷兩個變量所引用的對象是否相同,如果相同則返回 True,否則返回 False。 |
is not | 判斷兩個變量所引用的對象是否不相同,如果不相同則返回 True,否則返回 False。 |
is 與 == 有本質(zhì)上的區(qū)別,完全不是一碼事兒 ,== 用來比較兩個變量的值是否相等,而 is 則用來比對兩個變量引用的是否是同一個對象。兩個時間是一樣的。== 用來判斷 t1 和 t2 的值是否相等,所以返回 True。is 返回 False。像兩個雙胞胎姐妹,雖然她們的外貌是一樣的,但它們是兩個人。
Python邏輯運算符為下表所示:
邏輯運算符 | 含義 | 基本格式 | 說明 |
---|---|---|---|
and | 邏輯與運算,等價于數(shù)學(xué)中的“且” | a and b | 當 a 和 b 兩個表達式都為真時,a and b 的結(jié)果才為真,否則為假。 |
or | 邏輯或運算,等價于數(shù)學(xué)中的“或” | a or b | 當 a 和 b 兩個表達式都為假時,a or b 的結(jié)果才是假,否則為真。 |
not | 邏輯非運算,等價于數(shù)學(xué)中的“非” | not a | 如果 a 為真,那么 not a 的結(jié)果為假;如果 a 為假,那么 not a 的結(jié)果為真。相當于對 a 取反。 |
注意:
在 Python 中,and 和 or 不一定會計算右邊表達式的值,有時候只計算左邊表達式的值就能得到最終結(jié)果。
另外,and 和 or 運算符會將其中一個表達式的值作為最終結(jié)果,而不是將 True 或者 False 作為最終結(jié)果。
以上兩點極其重要。
對于 and 運算符,兩邊的值都為真時最終結(jié)果才為真,但是只要其中有一個值為假,那么最終結(jié)果就是假,所以 Python 按照下面的規(guī)則執(zhí)行 and 運算:
1. 如果左邊表達式的值為假,那么就不用計算右邊表達式的值了,因為不管右邊表達式的值是什么,都不會影響最終結(jié)果,最終結(jié)果都是假,此時 and 會把左邊表達式的值作為最終結(jié)果。
2. 如果左邊表達式的值為真,那么最終值是不能確定的,and 會繼續(xù)計算右邊表達式的值,并將右邊表達式的值作為最終結(jié)果。
對于 or 運算符,情況是類似的,兩邊的值都為假時最終結(jié)果才為假,只要其中有一個值為真,那么最終結(jié)果就是真,所以 Python 按照下面的規(guī)則執(zhí)行 or 運算:
1. 如果左邊表達式的值為真,那么就不用計算右邊表達式的值了,因為不管右邊表達式的值是什么,都不會影響最終結(jié)果,最終結(jié)果都是真,此時 or 會把左邊表達式的值作為最終結(jié)果。
2. 如果左邊表達式的值為假,那么最終值是不能確定的,or 會繼續(xù)計算右邊表達式的值,并將右邊表達式的值作為最終結(jié)果。
到此,關(guān)于“有哪些Python運算符”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。