python學習--運算符詳解
阿新 • • 發佈:2018-08-01
命令行 .exe opera 地址 span als div 等於 nbsp
一、簡介
1.python 運算符分為
- 算術運算符
- 比較(關系)運算符
- 賦值運算符
- 邏輯運算符
- 位運算符
- 成員運算符
- 身份運算符
- 運算符優先級
2.運算優先級
** 指數 (最高優先級) ~ + - 按位翻轉, 一元加號和減號 (最後兩個的方法名為 +@ 和 -@) * / % // 乘,除,取模和取整除 + - 加法減法 >> << 右移,左移運算符 & 位 ‘AND‘ ^ | 位運算符 <= < > >= 比較運算符 <> == != 等於運算符 = %= /= //= -= += *= **= 賦值運算符 is is not 身份運算符 in not in 成員運算符 not and or 邏輯運算符
3.實例詳解
‘‘‘ 位運算符 : 按照二進制的每位上的數值進行運算 位運算符: & | ^ ~ << >>‘‘‘ print(True & True) # 按位& 將10進制數轉化為二進制 然後按二進制每位運算 1 1 為 1 其余都是0 print(‘2:‘,bin(2)) print(‘8:‘,bin(8)) #2 0010 #8 1000 #10 1010 #0 0000 print(2&8) print(10&8) #| 按位或 只要有1 就為1 #10 01010 #20 10100 # 11110 2+4+8+16 print(10|20) #^異或符 不同為1 相同為0 #10 01010 #20 10100 print(10^20) #8 01000 #28 11100 #20 10100 print(8^28) # ~去反 0為1 1為0 #001 #110 #4 0100 # 1011 -5 # -8 +2 # print(bin(-5)) print(~1) # 0101 # 1010 print(bin(~5)) #010000 #101111 -32 +8+4+2+1 print(~16) #左移 被移動的數<<移動位數 右移 被移動的數>>移動位數 #1010 #左移 1010000 print(10<<3) #1010 #右移 0001 print(10>>3) #2^3 #010 #1000 print(2<<2) ‘‘‘ ------------------------------------------------------------ 邏輯運算符 bool and bool , bool or bool , not bool ‘‘‘ a=20; b=30 fl=a>10 and b<50 print(fl) print(a>50 or b>10) print(a>10 or b<50) print(not a>10) print(not a>30 and b>10) print(a>20 and a<30 or a<50 ) #邏輯運算符優先級 not and or print(a<=20 and (a<30 or a<50) ) ‘‘‘ --------------------------------------------------------------- 運算符擴展 ‘‘‘ a=2 b=2.0 print(a is b) print(a==b) print("--------------------------------------------------------------------") a=0 b=0 a=1010888800 b=1010888800 print(a is b) print(2**8) #2^8 print(2**64) a=18446744073709551618 b=18446744073709551618 print(a is b )
運行結果:
E:\python_VS_code\directory[目錄]>D://py3.6//python.exe e:/python_VS_code/directory[目錄]/demo0731/py_typeid.py True 2: 0b10 8: 0b1000 0 8 30 30 20 -2 -0b110 -17 80 1 8 True True True False True True True False True -------------------------------------------------------------------- True 256 18446744073709551616 True
註: 運算符中:(取反運算:取何數,數字為負並減一)
在命令行> 兩個整數大於28,也就是二的八次方,‘ is ‘ 為 Flase , ‘ == ‘ 為 True
在腳本文件中> 數字無論多大,都為True
【is 指向 內存地址
== 指向 變量值】
python學習--運算符詳解