天天看點

python中 是什麼運算符_Python 運算符

Python 運算符

什麼是運算符?

本章節主要說明Python的運算符。舉個簡單的例子4 +5 = 9。 例子中,4和5被稱為操作數,"+"号為運算符。

Python語言支援以下類型的運算符:

算術運算符

比較(關系)運算符

指派運算符

邏輯運算符

位運算符

成員運算符

身份運算符

運算符優先級

接下來讓我們一個個來學習Python的運算符。

Python算術運算符

以下假設變量a為10,變量b為20:

運算符

描述

執行個體

+

加 - 兩個對象相加

a + b 輸出結果 30

-

減 - 得到負數或是一個數減去另一個數

a - b 輸出結果 -10

*

乘 - 兩個數相乘或是傳回一個被重複若幹次的字元串

a * b 輸出結果 200

/

除 - x除以y

b / a 輸出結果 2

%

取模 - 傳回除法的餘數

b % a 輸出結果 0

**

幂 - 傳回x的y次幂

a**b 為10的20次方, 輸出結果 100000000000000000000

//

取整除 - 傳回商的整數部分

9//2 輸出結果 4 , 9.0//2.0 輸出結果 4.0

以下執行個體示範了Python所有算術運算符的操作:

#!/usr/bin/python

a = 21

b = 10

c = 0

c = a + b

print "Line 1 - Value of c is ", c

c = a - b

print "Line 2 - Value of c is ", c

c = a * b

print "Line 3 - Value of c is ", c

c = a / b

print "Line 4 - Value of c is ", c

c = a % b

print "Line 5 - Value of c is ", c

a = 2

b = 3

c = a**b

print "Line 6 - Value of c is ", c

a = 10

b = 5

c = a//b

print "Line 7 - Value of c is ", c

以上執行個體輸出結果:

Line 1 - Value of c is 31

Line 2 - Value of c is 11

Line 3 - Value of c is 210

Line 4 - Value of c is 2

Line 5 - Value of c is 1

Line 6 - Value of c is 8

Line 7 - Value of c is 2

Python比較運算符

以下假設變量a為10,變量b為20:

運算符

描述

執行個體

==

等于 - 比較對象是否相等

(a == b) 傳回 False。

!=

不等于 - 比較兩個對象是否不相等

(a != b) 傳回 true.

<>

不等于 - 比較兩個對象是否不相等

(a <> b) 傳回 true。這個運算符類似 != 。

>

大于 - 傳回x是否大于y

(a > b) 傳回 False。

<

小于 - 傳回x是否小于y。所有比較運算符傳回1表示真,傳回0表示假。這分别與特殊的變量True和False等價。注意,這些變量名的大寫。

(a < b) 傳回 true。

>=

大于等于 - 傳回x是否大于等于y。

(a >= b) 傳回 False。

<=

小于等于 - 傳回x是否小于等于y。

(a <= b) 傳回 true。

以下執行個體示範了Python所有比較運算符的操作:

#!/usr/bin/python

a = 21

b = 10

c = 0

if ( a == b ):

print "Line 1 - a is equal to b"

else:

print "Line 1 - a is not equal to b"

if ( a != b ):

print "Line 2 - a is not equal to b"

else:

print "Line 2 - a is equal to b"

if ( a <> b ):

print "Line 3 - a is not equal to b"

else:

print "Line 3 - a is equal to b"

if ( a < b ):

print "Line 4 - a is less than b"

else:

print "Line 4 - a is not less than b"

if ( a > b ):

print "Line 5 - a is greater than b"

else:

print "Line 5 - a is not greater than b"

a = 5;

b = 20;

if ( a <= b ):

print "Line 6 - a is either less than or equal to b"

else:

print "Line 6 - a is neither less than nor equal to b"

if ( b >= a ):

print "Line 7 - b is either greater than or equal to b"

else:

print "Line 7 - b is neither greater than nor equal to b"

以上執行個體輸出結果:

Line 1 - a is not equal to b

Line 2 - a is not equal to b

Line 3 - a is not equal to b

Line 4 - a is not less than b

Line 5 - a is greater than b

Line 6 - a is either less than or equal to b

Line 7 - b is either greater than or equal to b

Python指派運算符

以下假設變量a為10,變量b為20:

運算符

描述

執行個體

=

簡單的指派運算符

c = a + b 将 a + b 的運算結果指派為 c

+=

加法指派運算符

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所有指派運算符的操作:

#!/usr/bin/python

a = 21

b = 10

c = 0

c = a + b

print "Line 1 - Value of c is ", c

c += a

print "Line 2 - Value of c is ", c

c *= a

print "Line 3 - Value of c is ", c

c /= a

print "Line 4 - Value of c is ", c

c = 2

c %= a

print "Line 5 - Value of c is ", c

c **= a

print "Line 6 - Value of c is ", c

c //= a

print "Line 7 - Value of c is ", c

以上執行個體輸出結果:

Line 1 - Value of c is 31

Line 2 - Value of c is 52

Line 3 - Value of c is 1092

Line 4 - Value of c is 52

Line 5 - Value of c is 2

Line 6 - Value of c is 2097152

Line 7 - Value of c is 99864

Python位運算符

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

運算符

描述

執行個體

&

按位與運算符

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

|

按位或運算符

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

^

按位異或運算符

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

~

按位取反運算符

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

<<

左移動運算符

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

>>

右移動運算符

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

以下執行個體示範了Python所有位運算符的操作:

#!/usr/bin/python

a = 60 # 60 = 0011 1100

b = 13 # 13 = 0000 1101

c = 0

c = a & b; # 12 = 0000 1100

print "Line 1 - Value of c is ", c

c = a | b; # 61 = 0011 1101

print "Line 2 - Value of c is ", c

c = a ^ b; # 49 = 0011 0001

print "Line 3 - Value of c is ", c

c = ~a; # -61 = 1100 0011

print "Line 4 - Value of c is ", c

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

print "Line 5 - Value of c is ", c

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

print "Line 6 - Value of c is ", c

以上執行個體輸出結果:

Line 1 - Value of c is 12

Line 2 - Value of c is 61

Line 3 - Value of c is 49

Line 4 - Value of c is -61

Line 5 - Value of c is 240

Line 6 - Value of c is 15

Python邏輯運算符

Python語言支援邏輯運算符,以下假設變量a為10,變量b為20:

運算符

描述

執行個體

and

布爾"與" - 如果x為False,x and y傳回False,否則它傳回y的計算值。

(a and b) 傳回 true。

or

布爾"或" - 如果x是True,它傳回True,否則它傳回y的計算值。

(a or b) 傳回 true。

not

布爾"非" - 如果x為True,傳回False。如果x為False,它傳回True。

not(a and b) 傳回 false。

以下執行個體示範了Python所有邏輯運算符的操作:

#!/usr/bin/python

a = 10

b = 20

c = 0

if ( a and b ):

print "Line 1 - a and b are true"

else:

print "Line 1 - Either a is not true or b is not true"

if ( a or b ):

print "Line 2 - Either a is true or b is true or both are true"

else:

print "Line 2 - Neither a is true nor b is true"

a = 0

if ( a and b ):

print "Line 3 - a and b are true"

else:

print "Line 3 - Either a is not true or b is not true"

if ( a or b ):

print "Line 4 - Either a is true or b is true or both are true"

else:

print "Line 4 - Neither a is true nor b is true"

if not( a and b ):

print "Line 5 - Either a is not true or b is not true or both are not true"

else:

print "Line 5 - a and b are true"

以上執行個體輸出結果:

Line 1 - a and b are true

Line 2 - Either a is true or b is true or both are true

Line 3 - Either a is not true or b is not true

Line 4 - Either a is true or b is true or both are true

Line 5 - Either a is not true or b is not true or both are not true

Python成員運算符

除了以上的一些運算符之外,Python還支援成員運算符,測試執行個體中包含了一系列的成員,包括字元串,清單或元組。

運算符

描述

執行個體

in

如果在指定的序列中找到值傳回True,否則傳回False。

x 在 y序列中 , 如果x在y序列中傳回True。

not in

如果在指定的序列中沒有找到值傳回True,否則傳回False。

x 不在 y序列中 , 如果x不在y序列中傳回True。

以下執行個體示範了Python所有成員運算符的操作:

#!/usr/bin/python

a = 10

b = 20

list = [1, 2, 3, 4, 5 ];

if ( a in list ):

print "Line 1 - a is available in the given list"

else:

print "Line 1 - a is not available in the given list"

if ( b not in list ):

print "Line 2 - b is not available in the given list"

else:

print "Line 2 - b is available in the given list"

a = 2

if ( a in list ):

print "Line 3 - a is available in the given list"

else:

print "Line 3 - a is not available in the given list"

以上執行個體輸出結果:

Line 1 - a is not available in the given list

Line 2 - b is not available in the given list

Line 3 - a is available in the given list

Python身份運算符

身份運算符用于比較兩個對象的存儲單元

運算符

描述

執行個體

is

is是判斷兩個辨別符是不是引用自一個對象

x is y, 如果 id(x) 等于 id(y) , is 傳回結果 1

is not

is not是判斷兩個辨別符是不是引用自不同對象

x is not y, 如果 id(x) 不等于 id(y). is not 傳回結果 1

以下執行個體示範了Python所有身份運算符的操作:

#!/usr/bin/python

a = 20

b = 20

if ( a is b ):

print "Line 1 - a and b have same identity"

else:

print "Line 1 - a and b do not have same identity"

if ( id(a) == id(b) ):

print "Line 2 - a and b have same identity"

else:

print "Line 2 - a and b do not have same identity"

b = 30

if ( a is b ):

print "Line 3 - a and b have same identity"

else:

print "Line 3 - a and b do not have same identity"

if ( a is not b ):

print "Line 4 - a and b do not have same identity"

else:

print "Line 4 - a and b have same identity"

以上執行個體輸出結果:

Line 1 - a and b have same identity

Line 2 - a and b have same identity

Line 3 - a and b do not have same identity

Line 4 - a and b do not have same identity

Python運算符優先級

以下表格列出了從最高到最低優先級的所有運算符:

運算符

描述

**

指數 (最高優先級)

~ + -

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

* / % //

乘,除,取模和取整除

+ -

加法減法

>> <<

右移,左移運算符

&

位 'AND'

^ |

位運算符

<= < > >=

比較運算符

<> == !=

等于運算符

= %= /= //= -= += *= **=

指派運算符

is is not

身份運算符

in not in

成員運算符

not or and

邏輯運算符

以下執行個體示範了Python所有運算符優先級的操作:

#!/usr/bin/python

a = 20

b = 10

c = 15

d = 5

e = 0

e = (a + b) * c / d #( 30 * 15 ) / 5

print "Value of (a + b) * c / d is ", e

e = ((a + b) * c) / d # (30 * 15 ) / 5

print "Value of ((a + b) * c) / d is ", e

e = (a + b) * (c / d); # (30) * (15/5)

print "Value of (a + b) * (c / d) is ", e

e = a + (b * c) / d; # 20 + (150/5)

print "Value of a + (b * c) / d is ", e

以上執行個體輸出結果:

Value of (a + b) * c / d is 90

Value of ((a + b) * c) / d is 90

Value of (a + b) * (c / d) is 90

Value of a + (b * c) / d is 50

文章轉載:http://www.runoob.com/python/python-operators.html