0702Python總結 運算子

2021-10-07 17:16:10 字數 3222 閱讀 2609

/ 除法 (結果為小數)

// 地板除 (返回整數)

如果被除數或者除數是乙個小數,結果加上.0

% 取餘

res = 11 % 4

res = -11 % 4 # -3 + 4 = 1

res = 11 % -4 # 3 + (-4) = -1

res = -11 % -4 # -3(如果被除數和除數都是負數,在正常得到的結果前面填上負號即可.)

print(res)

比較運算子只會差生兩種結果:true 真的 ,false 假的

= 從右向左,將右側的值賦值給左側變數

字串必須是乙個連續的片段 

strvar = "雷霆嘎巴,無情哈拉少"

res = "雷" in strvar

res = "文" not in strvar

res = "無情" in strvar

res = "霆哈少" in strvar

res = ',' not in strvar

print(res)

in 和 not in 在字典中只判斷鍵,不判斷值

遵循變數快取機制

and 邏輯與:全真則真,一假則假

or 邏輯或:全假則假,一真則真

not 邏輯非:真變假,假變真

邏輯短路: 如果出現了短路效果,後面的**不執行

短路:(1) true or 表示式

(2) false and 表示式

bool 型別為假的十種情況

0 0.0 0j false 『』 () {} set() none

先用大腦算一下布林值真假,是否出現短路情況

如果出現了直接返回當前值,沒出現,繼續向右執行

邏輯運算子的優先順序

() > not > and > or

var1 = 19

var2 = 15

print(var1 & var2)

19的二進位制

0000 ... 10011

15的二進位制

0000 ... 01111

0000 ... 10011

0000 ... 01111

0000 ... 00011 => 3

var1 = 19

var2 = 15

print(var1 | var2)

19的二進位制

0000 ... 10011

15的二進位制

0000 ... 01111

0000 ... 10011

0000 ... 01111

0000 ... 11111 => 31

var1 = 19

var2 = 15

print(var1 ^ var2)

19的二進位制

0000 ... 10011

15的二進位制

0000 ... 01111

0000 ... 10011

0000 ... 01111

0000 ... 11100 => 28

左移相當於做乘法: 5 * 2的n次冪 

res = 5 << 1 # 10

res = 5 << 2 # 20

res = 5 << 3 # 40

print(res)

0000. ... 101

0000 ... 1010 移動一位 10

0000 ..10100 移動二位 20

右移相當於做除法 : 5 // 2的n次冪 

res = 5 >> 1 # 2

res = 5 >> 2 # 1

res = 5 >> 3 # 0

print(res)

0000 ... 101

0000 ... 010 移動一位 2

0000 ... 001 移動二位 1

0000 ... 000 移動三位 0

公式: -(n+1)

var1 = ~19

print(var1)

~ 按位非每一位都取反,包括符號位,求反碼每一位除了符號位,都取反.

原碼:0000 ... 10011

反碼:0000 ... 10011

補碼:0000 ... 10011

補碼: 0000 ... 10011

按位非: 1111 ... 01100

給你補碼求原碼:

補碼: 1111 ... 01100

反碼: 1000 ... 10011

原碼: 1000 ... 10100 => -20

var1 = ~(-19)

print(var1)

原碼: 1000 ... 10011

反碼: 1111 ... 01100

補碼: 1111 ... 01101

補碼: 1111 ... 01101

按位非: 0000 ... 10010

給你補碼求原碼:

正數 : 補碼 = 反碼 = 原碼

原碼: 0000 ... 10010 => 18

優先順序最高 ** 冪運算

優先順序最低 = 賦值運算子

() 括號可以提公升運算優先順序

一元運算子: 同一時間,只操作乙個值 - ~

二元運算子: 同一時間,操作兩個值 + - * / …

邏輯: () > not > and > or

算數: 乘除 > 加減

位運算子: ( << >> ) > & > ^ > |

算數運算子 > 位運算子 > 比較運算子 > 身份運算子》 成員運算子 > 邏輯運算子

賦值運算子是最後算完進行賦值,做收尾工作的.

res = 5+5 << 6//3 is 40 and true

print(res)

res = 10 << 2 is 40 and true

res = 40 is 40 and true

res = true and true

res = true

加上括號包起來,讓別人能看懂**;

res = (5+5) << (6//3) is 40 and true

Python運算子總結

運算子名稱 說明例子 加 兩個物件相加 3 5得到8。a b 得到 ab 減 得到負數或是乙個數減去另乙個數 5.2得到乙個負數。50 24得到26。乘 兩個數相乘或是返回乙個被重複若干次的字串 2 3得到6。la 3得到 lalala 冪 返回x的y次冪 3 4得到81 即3 3 3 3 除 x除...

python運算子總結

if name main x 1 if x 1 print true else print false x 1 y 2 等效於 x,y 1,2print x y 輸出結果 3if name main x,y 1,2print xprint x y print x y print x y print ...

python運算子總結

運算子 1算數運算子 在這裡插入 片x 1y 2print x y print x y print x y print x y print y x print y x print x y print y x 3 120.5020 2賦值運算子 簡單賦值運算 加法賦值運算 減法賦值運算 乘法賦值運算 ...