Python運(yùn)算符
Python支持以下八種運(yùn)算符:
1.? 算數(shù)運(yùn)算符
假設(shè)a=10,b=20
?
運(yùn)算符
?
描述
?
實例
?
+
?
加?- 兩個對象相加
?
a + b 輸出結(jié)果 30
?
-
?
減?- 得到負(fù)數(shù)或是一個數(shù)減去另一個數(shù)
?
a - b 輸出結(jié)果 -10
?
*
?
乘?- 兩個數(shù)相乘或是返回一個被重復(fù)若干次的字符串
?
a * b 輸出結(jié)果 200
?
/
?
除?- x除以y
?
b / a 輸出結(jié)果 2(整數(shù)除整數(shù),只能得整數(shù),要求小數(shù)需要將其中一個改為浮點(diǎn)數(shù))
?
%
?
取模?- 返回除法的余數(shù)
?
b % a 輸出結(jié)果 0
?
**
?
冪?- 返回x的y次冪
?
a**b 為10的20次方, 輸出結(jié)果 100000000000000000000
?
//
?
取整除?- 返回商的整數(shù)部分
?
9//2 輸出結(jié)果 4 , 9.0//2.0輸出結(jié)果 4.0
?
2.? 比較運(yùn)算符
運(yùn)算符
?
描述
?
實例
?
==
?
等于?- 比較對象是否相等
?
(a == b) 返回 False。
?
!=
?
不等于?- 比較兩個對象是否不相等
?
(a != b) 返回 true.
?
<>?
?
不等于?- 比較兩個對象是否不相等
?
(a <> b) 返回 true。這個運(yùn)算符類似 != 。
?
>?
?
大于?- 返回x是否大于y
?
(a > b) 返回 False。
?
<?
?
小于?- 返回x是否小于y。所有比較運(yùn)算符返回1表示真,返回0表示假。這分別與特殊的變量True和False等價。注意,這些變量名的大寫。
?
(a < b) 返回 true。
?
>=
?
大于等于?- 返回x是否大于等于y。
?
(a >= b) 返回 False。
?
<=
?
小于等于?- 返回x是否小于等于y。
?
(a <= b) 返回 true。
?
3.? Python賦值運(yùn)算符
運(yùn)算符
?
描述
?
實例
?
=
?
簡單的賦值運(yùn)算符
?
c = a + b 將 a + b的運(yùn)算結(jié)果賦值為 c
?
+=
?
加法賦值運(yùn)算符
?
c += a 等效于 c = c + a
?
-=
?
減法賦值運(yùn)算符
?
c -= a 等效于 c = c - a
?
*=
?
乘法賦值運(yùn)算符
?
c *= a 等效于 c = c * a
?
/=
?
除法賦值運(yùn)算符
?
c /= a 等效于 c = c / a
?
%=
?
取模賦值運(yùn)算符
?
c %= a 等效于 c = c % a
?
**=
?
冪賦值運(yùn)算符
?
c **= a 等效于 c = c ** a
?
//=
?
取整除賦值運(yùn)算符
?
c //= a 等效于 c = c // a
?
4.? Python位運(yùn)算符
按位運(yùn)算符是把數(shù)字看作二進(jìn)制來進(jìn)行計算的。Python中的按位運(yùn)算法則如下:
?
運(yùn)算符
?
描述
?
實例
?
&
?
按位與運(yùn)算符:參與運(yùn)算的兩個值,如果兩個相應(yīng)位都為1,則該位的結(jié)果為1,否則為0
?
(a & b) 輸出結(jié)果 12,二進(jìn)制解釋: 0000 1100
?
|
?
按位或運(yùn)算符:只要對應(yīng)的二個二進(jìn)位有一個為1時,結(jié)果位就為1。
?
(a | b) 輸出結(jié)果 61,二進(jìn)制解釋: 0011 1101
?
^
?
按位異或運(yùn)算符:當(dāng)兩對應(yīng)的二進(jìn)位相異時,結(jié)果為1
?
(a ^ b) 輸出結(jié)果 49,二進(jìn)制解釋: 0011 0001
?
~
?
按位取反運(yùn)算符:對數(shù)據(jù)的每個二進(jìn)制位取反,即把1變?yōu)?,把0變?yōu)? 。~x?類似于?-x-1
?
(~a ) 輸出結(jié)果 -61,二進(jìn)制解釋: 1100 0011,在一個有符號二進(jìn)制數(shù)的補(bǔ)碼形式。
?
<<?
?
左移動運(yùn)算符:運(yùn)算數(shù)的各二進(jìn)位全部左移若干位,由"<<"右邊的數(shù)指定移動的位數(shù),高位丟棄,低位補(bǔ)0。
?
a << 2 輸出結(jié)果 240,二進(jìn)制解釋: 1111 0000
?
>>?
?
右移動運(yùn)算符:把">>"左邊的運(yùn)算數(shù)的各二進(jìn)位全部右移若干位,">>"右邊的數(shù)指定移動的位數(shù)
?
a >> 2 輸出結(jié)果 15,二進(jìn)制解釋: 0000 1111
?
5.? Python邏輯運(yùn)算符
運(yùn)算符
?
邏輯表達(dá)式
?
描述
?
實例
?
and
?
x and y
?
布爾"與" - 如果 x 為 False,x and y 返回 False,否則它返回 y 的計算值。
?
(a and b) 返回 20。
?
or
?
x or y
?
布爾"或" - 如果 x 是非 0,它返回 x 的值,否則它返回 y 的計算值。
?
(a or b) 返回 10。
?
not
?
not x
?
布爾"非" - 如果 x 為 True,返回 False 。如果 x 為 False,它返回 True。
?
not(a and b) 返回 False
?
6.? Python成員運(yùn)算符
運(yùn)算符
?
描述
?
實例
?
in
?
如果在指定的序列中找到值返回?True,否則返回 False。
?
x 在 y序列中 , 如果 x 在 y 序列中返回 True。
?
not in
?
如果在指定的序列中沒有找到值返回?True,否則返回 False。
?
x 不在 y序列中 , 如果 x 不在 y 序列中返回 True。
?
7.? Python身份運(yùn)算符(判斷引用的對象)
1) is與==的區(qū)別
==判斷兩者是否完全相等,而is判斷兩個對象引用的對象是否是同一個。
?
運(yùn)算符
?
描述
?
實例
?
is
?
is 是判斷兩個標(biāo)識符是不是引用自一個對象
?
x is y,類似?id(x) == id(y)?, 如果引用的是同一個對象則返回 True,否則返回 False
?
is not
?
is not 是判斷兩個標(biāo)識符是不是引用自不同對象
?
x is not y?, 類似?id(a) != id(b)。如果引用的不是同一個對象則返回結(jié)果 True,否則返回 False。
?
8.? Python運(yùn)算符優(yōu)先級
運(yùn)算符
?
描述
?
**
?
指數(shù)?(最高優(yōu)先級)
?
~ + -
?
按位翻轉(zhuǎn), 一元加號和減號 (最后兩個的方法名為 +@ 和 -@)
?
* / % //
?
乘,除,取模和取整除
?
+ -
?
加法減法
?
>> <<
?
右移,左移運(yùn)算符
?
&
?
位?'AND'
?
^ |
?
位運(yùn)算符
?
<= < > >=
?
比較運(yùn)算符
?
<> == !=
?
等于運(yùn)算符
?
= %= /= //= -= += *= **=
?
賦值運(yùn)算符
?
is is not
?
身份運(yùn)算符
?
in not in
?
成員運(yùn)算符
?
not or and
?
邏輯運(yùn)算符