python3運算子 Python3運算子

2021-10-22 01:18:23 字數 4928 閱讀 5080

什麼是運算子?

本章節主要說明python的運算子。舉個簡單的例子 4 +5 = 9。 例子中,4 和 5 被稱為運算元,"+" 稱為運算子。

python語言支援以下型別的運算子:

算術運算子

比較(關係)運算子

賦值運算子

邏輯運算子

位運算子

成員運算子

身份運算子

運算子優先順序

接下來讓我們乙個個來學習python的運算子。

算數運算子

+ - * / %不必多說(其中 * 可以表示兩個數字相乘,也可以表示乙個字串被重複若干次)。除此之外,常用的算術運算子還有 **(冪)和 //(取整除,向下取接近除數的整數)

>>> a = -9

>>> b = 2

>>> a**b81

>>> a//b-5

python比較運算子

常見的比較運算子有==(等於)、=!(不等於)、>(大於)、=(大於等於)、<=(小於等於),不再贅述。

python賦值運算子

常見的賦值運算子有=(右賦於左)、+=(c += a 等效於 c = c + a)、-=(c -= a 等效於 c = c - a)、*=(c *= a 等效於 c = c * a)、/=(c /= a 等效於 c = c / a)、%/(c % = a 等效於 c = c % a)、**=(c ** = a 等效於 c = c ** a)、//=(c // = a 等效於 c = c // a),不再贅述。

python位運算子

按位運算子是把數字看作二進位制來進行計算的。python中的按位運算法則如下:

運算子描述例項

按位與運算子:參與運算的兩個值,如果兩個相應位都為1,則該位的結果為1,否則為0

(a & b) 輸出結果 12 ,二進位制解釋: 0000 1100

按位或運算子:只要對應的二個二進位有乙個為1時,結果位就為1。

(a | b) 輸出結果 61 ,二進位制解釋: 0011 1101

按位異或運算子:當兩對應的二進位相異時,結果為1

(a ^ b) 輸出結果 49 ,二進位制解釋: 0011 0001

按位取反運算子:對資料的每個二進位制位取反,即把1變為0,把0變為1。~x類似於 -x-1

(~a ) 輸出結果 -61 ,二進位制解釋: 1100 0011, 在乙個有符號二進位制數的補碼形式。

左移動運算子:運算數的各二進位全部左移若干位,由"<

a << 2 輸出結果 240 ,二進位制解釋: 1111 0000

右移動運算子:把">>"左邊的運算數的各二進位全部右移若干位,">>"右邊的數指定移動的位數

a >> 2 輸出結果 15 ,二進位制解釋: 0000 1111

舉例如下:

a = 60 #60 = 0011 1100

b = 13 #13 = 0000 1101

c =0

c= a & b; #12 = 0000 1100

print ("1 - c 的值為:", c)

c= a | b; #61 = 0011 1101

print ("2 - c 的值為:", c)

c= a ^ b; #49 = 0011 0001

print ("3 - c 的值為:", c)

c= ~a; #-61 = 1100 0011

print ("4 - c 的值為:", c)

c= a << 2; #240 = 1111 0000

print ("5 - c 的值為:", c)

c= a >> 2; #15 = 0000 1111

print ("6 - c 的值為:", c)

輸出為:

1 - c 的值為: 12

2 - c 的值為: 61

3 - c 的值為: 49

4 - c 的值為: -61

5 - c 的值為: 240

6 - c 的值為: 15

python邏輯運算子

運算子邏輯表示式描述例項

andx and y

布林"與" - 如果 x 為 false,x and y 返回 false,否則它返回 y 的計算值。

(a and b) 返回 20。

orx or y

布林"或" - 如果 x 是 true,它返回 x 的值,否則它返回 y 的計算值。

(a or b) 返回 10。

notnot x

布林"非" - 如果 x 為 true,返回 false 。如果 x 為 false,它返回 true。

not(a and b) 返回 false

舉例如下:

a = 10b= 20

if ( a andb ):print ("1 - 變數 a 和 b 都為 true")else:print ("1 - 變數 a 和 b 有乙個不為 true")if ( a orb ):print ("2 - 變數 a 和 b 都為 true,或其中乙個變數為 true")else:print ("2 - 變數 a 和 b 都不為 true")#修改變數 a 的值

a =0if ( a andb ):print ("3 - 變數 a 和 b 都為 true")else:print ("3 - 變數 a 和 b 有乙個不為 true")if ( a orb ):print ("4 - 變數 a 和 b 都為 true,或其中乙個變數為 true")else:print ("4 - 變數 a 和 b 都不為 true")if not( a andb ):print ("5 - 變數 a 和 b 都為 false,或其中乙個變數為 false")else:print ("5 - 變數 a 和 b 都為 true")

輸出為:

1 -變數 a 和 b 都為 true2 -變數 a 和 b 都為 true,或其中乙個變數為 true3 -變數 a 和 b 有乙個不為 true4 -變數 a 和 b 都為 true,或其中乙個變數為 true5 - 變數 a 和 b 都為 false,或其中乙個變數為 false

python成員運算子

除了以上的一些運算子之外,python還支援成員運算子,測試例項中包含了一系列的成員,包括字串,列表或元組。

運算子描述例項

in如果在指定的序列中找到值返回 true,否則返回 false。

x 在 y 序列中 , 如果 x 在 y 序列中返回 true。

not in

如果在指定的序列中沒有找到值返回 true,否則返回 false。

x 不在 y 序列中 , 如果 x 不在 y 序列中返回 true。

舉例如下:

a = 10b= 20list= [1, 2, 3, 4, 5];if ( a inlist ):print ("1 - 變數 a 在給定的列表中 list 中")else:print ("1 - 變數 a 不在給定的列表中 list 中")if ( b not inlist ):print ("2 - 變數 b 不在給定的列表中 list 中")else:print ("2 - 變數 b 在給定的列表中 list 中")#修改變數 a 的值

a = 2

if ( a inlist ):print ("3 - 變數 a 在給定的列表中 list 中")else:print ("3 - 變數 a 不在給定的列表中 list 中")

輸出為:

1 -變數 a 不在給定的列表中 list 中2 -變數 b 不在給定的列表中 list 中3 - 變數 a 在給定的列表中 list 中

python身份運算子

身份運算子用於比較兩個物件的儲存單元

運算子描述例項

isis 是判斷兩個識別符號是不是引用自乙個物件

x is y, 類似 id(x) == id(y) , 如果引用的是同乙個物件則返回 true,否則返回 false

is not

is not 是判斷兩個識別符號是不是引用自不同物件

x is not y , 類似 id(a) != id(b)。如果引用的不是同乙個物件則返回結果 true,否則返回 false。

舉例如下:

a = 20b= 20

if ( a isb ):print ("1 - a 和 b 有相同的標識")else:print ("1 - a 和 b 沒有相同的標識")if ( id(a) ==id(b) ):print ("2 - a 和 b 有相同的標識")else:print ("2 - a 和 b 沒有相同的標識")#修改變數 b 的值

b = 30

if ( a isb ):print ("3 - a 和 b 有相同的標識")else:print ("3 - a 和 b 沒有相同的標識")if ( a is notb ):print ("4 - a 和 b 沒有相同的標識")else:print ("4 - a 和 b 有相同的標識")

輸出為:

1 -a 和 b 有相同的標識2 -a 和 b 有相同的標識3 -a 和 b 沒有相同的標識4 - a 和 b 沒有相同的標識

is 與 == 區別:

is 用於判斷兩個變數引用物件是否為同乙個, == 用於判斷引用變數的值是否相等。

>>>a = [1, 2, 3]>>> b =a>>> b isa

true>>> b ==a

true>>> b =a[:]>>> b isa

false>>> b ==a

true

python運算子優先順序

以下**列出了從最高到最低優先順序的所有運算子:

運算子描述

指數 (最高優先順序)

按位翻轉, 一元加號和減號 (最後兩個的方法名為 +@ 和 -@)

乘,除,取模和取整除

加法減法

右移,左移運算子

位 'and'

位運算子

比較運算子

等於運算子

賦值運算子

is is not

身份運算子

in not in

成員運算子

not and or

邏輯運算子

python3運算子 Python3 運算子

python3 運算子 python3 支援以下型別運算子 算術運算子 比較 關係 運算子 賦值運算子 邏輯運算子 位運算子 成員運算子 身份運算子 運算子優先順序 算術運算 a b 2,3 運算子說明 示例加 將兩個物件相加 a b 結果 5 減 將兩個物件相減 a b 結果 1 乘 將兩個物件相...

Python3之運算子

混合運算時,整數轉換為浮點數 print 21 10 2.1 print 21 10 2 print 9.0 4.0 把數字看作二進位制來進行計算 運算子表示式 描述and x and y 布林 與 若 x 為 false,則返回 false,否則返回 y 的計算值 orx or y 布林 或 若 ...

Python3 和 運算子

在 python 中,和 具有語法多義性,具體來說是有四類用法。1.算數運算 代表乘法 代表乘方 2 5 10 2 5 32 2.函式形參 args 和 kwargs 主要用於函式定義。你可以將不定數量的引數傳遞給乙個函式。不定的意思是 預先並不知道,函式使用者會傳遞多少個引數給你,所以在這個場景下...