算數運算子: + - * / // % **
var1=3
var2=4
res=var1+var2 #加法
res=var1-var2 #減法
res=var1*var2 #乘法
res=var1 / var2(結果為小數)
res=var1//var2(地板除整除,只取結果的整數部分,若除數或被除數中有乙個是小數則在結果後加上.0)
res=var1%var2(取餘)
比較運算子:> = <= == !=
比較運算子只會產生兩種結果:true 真的,false 假的
res=var1>var2
res=var1
res=var1>=var2
res=var1<=var2
res=var1==var2
res=var1!=var2
賦值運算子: = , += , -= , *= , /=, //=, %=, **=
var=2 # = 從右向左,將右側的值賦值給左側變數
var1+=var2 #var1=var1+var2
var1-=var2 #var1=var1-var2
var1=var2 #var1=var1var2
var1 / =var2 #var1=var1 / var2
var1 // =var2 #var1=var1 // var2
var1 %=var2 #var1=var1%var2
var1**=var2 #var1=var1**var2
成員運算子:(針對容器型資料)
in 和not in
(1)strvar='我的夢想是成為一名優秀的程式設計師'
res='夢想' in strvar #true
res='程式設計師' not in strvar #false
res='是員' in strvar #false (字串必須是連續的)
res='my' in listvar #true
res='my' in tuplevar #true
res='my' in setvar #true
(5)dictvar=
res='haci' in dictvar #true
res='lcx' in dictvar #false , 字典中只能取鍵,而不能取值
身份運算子:
is和 is not (檢測兩個資料在記憶體當中是否是同乙個值)
python3.6
(1)整型:-5~正無窮內同值記憶體id相同
res= 1000 is 1000 #true
res=-6 is -6 #false
(2)浮點型:非負範圍內同值記憶體id相同
res=2.3 is 2.3 #true
res=-2 is -2 #false
(3)布林型:同值同記憶體id
res=true is true #true
res=true is false # false
(4)複數:實數+虛數永遠不同 (只含正係數的虛數的條件例外)
var1=2+3j
var2=2+3j
res=var1 is var2 #false
(5)容器型別
只有字串和空元組是同值同id
res=(1,2,3) is (1,2,3) #false
res=() is () #true
邏輯運算子:
and or not
(1)and:邏輯與,全真則真,一假則假
(2)or:邏輯或,全假則假,一真則真
(3)not:邏輯非,真變假,假變真
(4)短路邏輯:如果出現了短路效果,後面的**不執行
true or 表示式;false and 表示式
#先用大腦算一下布林值真假,是否出現短路情況,如果出現了直接返回當前值,沒出現,繼續向右執行;
res=5 or 8 #5
res=0 or 6 #6
res=3 and 4 #4
res=0 and 9 #0
res=not(5 or 6) and 7 #not 5 and 7 =>false and 7=>false
按位運算子:& | ^ <> ~
關於二進位制的計算
(1)按位與 &
var1=19
var2=15
res=var1 & var2 #3
計算原理:
19的二進位制: 0000...10011
15的二進位制: 0000...01111
按位與: 0000... 00011 ==>3
(2)按位或 |
var1=19
var2=15
res=var1 | var2 #31
19的二進位制: 0000...10011
15的二進位制: 0000...01111
按位或: 0000...11111 ==>31
(3)按位異或: ^ (兩個值不一樣,返回真,否則返回假)
var1=19
var2=15
res=var1 ^ var2
19的二進位制: 0000...10011
15的二進位制: 0000...01111
按位異或: 0000...11100=>28
(4)左移<<
左移相當於做乘法:5*2的n次冪
5 0000...101
res = 5 << 1 # 10 #0000...1010==>10
res = 5 << 2 # 20 #0000...10100==>20
res = 5 << 1 # 40 #0000...101000==>40
(5)右移 >>
右移相當於做除法:5*2的n次冪
5 0000 ... 101
res=5>>1 #0000 ... 010 ==>2
res = 5 >> 2 #0000 ... 001===>1
(5)按位非~:(針對於補碼進行操作,按位取反,包括符號位)
按位非每一位都取反,包括符號位,求反碼每一位除了符號位,都取反
公式: -(n+1)
var=~19
原碼: 0000 ... 10011
反碼: 0000 ... 10011
補碼: 0000 ... 10011
按位非: 1111...01100
反碼: 1000...10011
原碼: 1000...10100 ===>-20
var2=~(-22)
原碼:1000 ... 10011
反碼:1111 ... 01100
補碼:1111...01101
按位非:0000...10010
原碼:0000...10010===>18
總結:(1)各類運算子優先順序:算數運算子 > 位運算子 > 比較運算子 > 身份運算子》 成員運算子 > 邏輯運算子》賦值運算子
(2)個別運算子:優先順序最高 ** 冪運算;優先順序最低 = 賦值運算子;() 括號可以提公升運算優先順序
(3)整體 一元運算子 > 二元運算子
(4)同一層級:
邏輯: () > not > and > or
算數: 乘除 > 加減
位運算子:~ > ( << >> ) > & > ^ > |
res = 17>15 or 78<11 or 7 and 8 and not true is true
=true or false or 7 and 8 and not true is true
=true or false or 7 and 8 and not true
=true or false or false
=true
python基礎 各種運算子
1 算數運算子 比較運算子 只會產生2個結果,要麼是true 要麼是false 在實際使用中常常利用,返回值,用於作判斷的使用 3 賦值運算子 範例 var1 9var2 3 從右向左看,將右側的值賦值給左側變數 成員運算子 in 和 not in 針對於容器型資料 一般用於搭配if語句使用,判斷資...
python 運算子 Python運算子
python語言支援以下型別的運算子 算術運算子 比較 關係 運算子 賦值運算子 邏輯運算子 位運算子 成員運算子 身份運算子 運算子優先順序 1 算術運算子 加號 減號 乘 除 取餘 乘方 整除 1 其中除號 要注意 在python2中,用作整除。解決方法有三 1 兩個相除的數中有乙個為實數。2 ...
python 運算子 python(運算子)
一 運算子 1.算數運算子 1 加 注意 字串與整數之間不能進行相加,需要通過str 或int 進行轉換資料型別 整數與整數相加 1 1 浮點數與浮點數相加 2.0 2.0 4.0 二進位制儲存精度誤差 1.1 1.3 2.4000000000000004 整數與浮點數相加 2 2.0 4.0字串之...