/ 除法 (結果為小數)
// 地板除 (返回整數)
如果被除數或者除數是乙個小數,結果加上.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賦值運算子 簡單賦值運算 加法賦值運算 減法賦值運算 乘法賦值運算 ...