Python基本運算符

運算符是可以操縱操作數值的結構。如下一個表達式:10 + 20 = 30。這裏,1020稱爲操作數,+則被稱爲運算符。

運算符類型

Python語言支持以下類型的運算符 -

  • 1.算術運算符
  • 2.比較(關係)運算符
  • 3.賦值運算符
  • 4.邏輯運算符
  • 5.按位運算符
  • 6.成員運算符
  • 7.身份運算符

下面讓我們依次來看看所有的運算符。

1.算術運算符

假設變量a的值是10,變量b的值是21,則 -

運算符

描述

示例

+

加法運算,將運算符兩邊的操作數增加。

a + b = 31

-

減法運算,將運算符左邊的操作數減去右邊的操作數。

a – b = -11

*

乘法運算,將運算符兩邊的操作數相乘

a * b = 210

/

除法運算,用右操作數除左操作數

b / a = 2.1

%

模運算,用右操作數除數左操作數並返回餘數

b % a = 1

**

對運算符進行指數(冪)計算

a ** b,表示1021次冪

//

地板除 - 操作數的除法,其結果是刪除小數點後的商數。 但如果其中一個操作數爲負數,則結果將被保留,即從零(向負無窮大)捨去

9//2 = 49.0//2.0 = 4.0, -11//3 = -4, -11.0//3 = -4.0

有關算術運算符的示例代碼,請參考::http://www.yiibai.com/python/arithmetic\_operators\_example.html

2.比較(關係)運算符

比較(關係)運算符比較它們兩邊的值,並確定它們之間的關係。它們也稱爲關係運算符。假設變量a的值10,變量b的值是20,則 -

運算符

描述

示例

==

如果兩個操作數的值相等,則條件爲真。

(a == b)求值結果爲 false

!=

如果兩個操作數的值不相等,則條件爲真。

(a != b)求值結果爲 true

>

如果左操作數的值大於右操作數的值,則條件成爲真。

(a > b)求值結果爲 false

<

如果左操作數的值小於右操作數的值,則條件成爲真。

(a < b)求值結果爲 true

>=

如果左操作數的值大於或等於右操作數的值,則條件成爲真。

(a >= b)求值結果爲 false

<=

如果左操作數的值小於或等於右操作數的值,則條件成爲真。

(a <= b)求值結果爲 true

有關比較(關係)運算符的示例代碼,請參考:http://www.yiibai.com/python/comparison\_operators\_example.html

3.賦值運算符

假設變量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

有關賦值運算符的示例代碼,請參考:http://www.yiibai.com/python/assignment\_operators\_example.html

4.邏輯運算符

Python語言支持以下邏輯運算符。假設變量a的值爲True,變量b的值爲False,那麼 -

運算符

描述

示例

and

如果兩個操作數都爲真,則條件成立。

(a and b)的結果爲False

or

如果兩個操作數中的任何一個非零,則條件成爲真。

(a or b)的結果爲True

not

用於反轉操作數的邏輯狀態。

not(a and b) 的結果爲True

有關邏輯運算符的示例代碼,請參考:http://www.yiibai.com/python/logical\_operators\_example.html

5.按位運算符

按位運算符執行逐位運算。 假設變量a = 60; 和變量b = 13; 現在以二進制格式,它們將如下 -

a = 0011 1100

b = 0000 1101

-----------------

a&b = 0000 1100

a|b = 0011 1101

a^b = 0011 0001

~a = 1100 0011

Python的內置函數bin()可用於獲取整數的二進制表示形式。

以下是Python語言支持位運算操作符 -

運算符

描述

示例

&

如果它存在於兩個操作數中,則操作符複製位到結果中

(a & b) 結果表示爲 0000 1100

Python基本運算符

如果它存在於任一操作數,則複製位。

(a Python基本運算符 b) = 61 結果表示爲 0011 1101

^

二進制異或。如果它是一個操作數集合,但不是同時是兩個操作數則將複製位。

(a ^ b) = 49 (結果表示爲 0011 0001)

~

二進制補碼,它是一元的,具有「翻轉」的效果。

(~a ) = -61有符號的二進制數,表示爲1100 0011的補碼形式。

<<

二進制左移,左操作數的值由右操作數指定的位數左移。

a << 2 = 240 (結果表示爲 1111 0000)

>>

二進制右移,左操作數的值由右操作數指定的位數右移。

a >> 2 = 15(結果表示爲0000 1111)

有關按位運算符的示例代碼,請參考:http://www.yiibai.com/python/bitwise\_operators\_example.html

6.成員運算符

Python成員運算符測試給定值是否爲序列中的成員,例如字符串,列表或元組。 有兩個成員運算符,如下所述 -

運算符

描述

示例

in

如果在指定的序列中找到一個變量的值,則返回true,否則返回false

-

not in

如果在指定序列中找不到變量的值,則返回true,否則返回false

-

有關成員運算符的示例代碼,請參考:http://www.yiibai.com/python/membership\_operators\_example.html

7.身份運算符

身份運算符比較兩個對象的內存位置。常用的有兩個身份運算符,如下所述 -

運算符

描述

示例

is

如果運算符任一側的變量指向相同的對象,則返回True,否則返回False

is not

如果運算符任一側的變量指向相同的對象,則返回True,否則返回False

-

有關身份運算符的示例代碼,請參考:http://www.yiibai.com/python/identity\_operators\_example.html

8. 運算符優先級

下表列出了從最高優先級到最低優先級的所有運算符,如下所示 -

序號

運算符

描述

1

**

指數(次冪)運算

2

~ + -

補碼,一元加減(最後兩個的方法名稱是+@-@)

3

* / % //

乘法,除法,模數和地板除

4

+ -

5

>> <<

向右和向左位移

6

&

按位與

7

^ Python基本運算符

按位異或和常規的「OR

8

<= < > >=

比較運算符

9

<> == !=

等於運算符

10

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

賦值運算符

11

is is not

身份運算符

12

in not in

成員運算符

13

not or and

邏輯運算符

有關運算符優先級的示例代碼,請參考:http://www.yiibai.com/python/operators\_precedence\_example.html