一、算術運算符
運算符 |
---|
+ |
- |
* |
/ |
% |
**(冪)求次方 |
//(取整除,向下取整)如:9//2 =4 |
二、比較運算符
運算符 |
---|
== |
!= |
<>(不等於,類似!=) |
< |
> |
>= |
<= |
#舉例說明:
x = 10
y = 20
print(x > y) # False
print(x < y) # True
print(x >= y) # False
print(x <= y) # True
print(x == y) # False
print(x != y) # True
三、賦值運算符
運算符 |
---|
= |
+= |
-= |
*= |
/= |
%= |
**= |
//= |
x = 10 # (一元賦值運算符)
y = 20
# x = x+y # x += y
x += y # (二元賦值運算符)
x += 10
print(x)
x -= y
print(x)
x *= y
print(x)
x /= y
print(x)
x **= y # x = x**y
print(x)
y //= x # x = x//y
print(y)
x %= y # x = x%y
print(x)
四、邏輯運算符
主要用於邏輯判斷,bool,循環等,返回True或False(二元運算符)
運算符 |
---|
and |
or |
not |
and(和),兩個條件都為真就為真,否則都為False.
print(1>1 and 2>3) # False
print(10>1 and False) # False
or(或),只要有一個為真就為真,否則都為False
age = 18
inp_age= input('age:')
print(age==inp_age or True) # True
print(True or False) # True
print(False or False) # False
not(不是)
print(not True) # False
print(not False) # True
五、身份運算符
身份運算符用於比較兩個元素對象的存儲單位,通過比較兩者id返回布爾值
注意;值相同的id不一定相同,id相同的值一定相同
運算符 | 描述 | 實例 |
---|---|---|
is | is是判斷倆個標識符是不是引用自一個對象,類似== | x is y(返回bool值) |
is not | is not是判斷倆個標識符是不是引用自不同的對象,類似!= | x is not y(返回bool值) |
x=1000
y=1000
print(id(x))
print(id(y))
print(x is y) # False
print(x is not y) # True
print(not x is y) #False
六、位運算符
按位置運算符把數字看作二進制來進行計算的,python中的按位運算法則如下:
下面是變量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
運算符 | 描述 | 實例 |
---|---|---|
& | 按位與運算符:參與運算的倆個值,如果倆個相應的位都為1,則該位的結果為1,否則為0. | (a&b)輸出結果為12,二進制的解釋為:0000 1100| |
| | 按位或運算符:只要對應的二進位有一個為1時,結果位就為1. | (a|b)輸出結果61,二進制解釋:0011 1101 |
^ | 按位異或運算符:當倆對應的二進位相異時,結果為1 | (a^b)輸出的結果為49,二進制的解釋為:0011 0001 |
~ | 按位取反運算符:對數據的每一個二進制位取反,即把0變成1,把1變成0。~x類似於-x-1. | (~a)輸出的結果位-61,二進制解釋:1100 0011,在一個有符號二進制的補碼形式。 |
<< | 左移動運算符:運算符的各二進制位全部左移若干位,由<< 右邊的數字指定了移動的位數,高位丟棄,低位補0. |
a<<2,輸出結果為240,二進制解釋為:1111 0000 |
>> | 右移動運算符:把>> 左邊的運算數的各二進位全部右移若干位,>> 右邊的數字指定了移動的位數。 |
a>>2輸出結果為15,二進制的解釋為:0000 1111 |
七、成員運算符
除了以上的一些運算符之外,python還支持成員運算符,測試實例中包含了一系列的成員,包括字符串,列表或者元組。
運算符 | 描述 | 實例 |
---|---|---|
in | 如果在指定的序列中找到值飯后True,否則返回False。 | x 在y 的序列中,x in y 返回True |
not in | 如果在指定的序列中沒有找到值,返回True,否則返回False | x 不在y的序列中,x not iny 返回True |
八、python運算符的優先級
運算符 | 描述 |
---|---|
** | 指數(最高優先級) |
~ +- | 按位翻轉,一元加號和減號(最后倆個的方法命名為+@和-@) |
*/%// | 乘,除,取模(求余),取整除 |
+- | 加減法 |
>> << | 右移,左移運算符 |
& | 位’AND‘ |
^| | 位運算符 |
<=,<,>,>= | 比較運算符 |
<>,==,!= | 等於運算符 |
=,%=,/=,//=,**=,*=,+=,-= | 等於運算符 |
is,is not | 身份運算符 |
in,not in | 成員運算符 |
not ,and,or | 邏輯運算符 |