Python基本運算符
運算符是可以操縱操作數值的結構。如下一個表達式:10 + 20 = 30
。這裏,10
和20
稱爲操作數,+
則被稱爲運算符。
運算符類型
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
,表示10
的21
次冪
//
地板除 - 操作數的除法,其結果是刪除小數點後的商數。 但如果其中一個操作數爲負數,則結果將被保留,即從零(向負無窮大)捨去
9//2 = 4
, 9.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
如果它存在於任一操作數,則複製位。
(a
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
^
按位異或和常規的「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