python中各種運算子 Python 中的運算子

2021-10-11 12:01:54 字數 4174 閱讀 3859

算數運算子: +   -   *   /   //   %   **

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字串之...