天天看點

python基礎——運算符運算符

運算符

算術運算符:

+: 加

-: 減

*: 乘

/: 除

%: 取餘

//: 取商

**: 幂

print(1 + 1)#加
print(2 - 1)#減
print(2 * 2)#乘
print(4 / 2)#除
print(10 % 3)#取餘
print(10 // 3)#取商
print(2 ** 2)#幂
輸出結果:
2
1
4
2.0
1
3
4

           

比較運算符:

==: 雙等于号:用來比較是否相等,一定和我們的指派=區分開

!=: 不等于

‘>’: 大于

‘>’=: 大于等于

<: 小于

<=: 小于等于

if "123"=="123":
    print(True)
if "123"!="321":
    print(False)
if "321">"123":
    print(True)
if 2*3>=3*2:
    print(True)
if 3<4:
    print(True)
if 3<=4:
    print(True)
           

指派運算符:

=

+= : i= i+1 =》i+=1

-= :

*= :

/= :

%= :

//= :

**= :

參考算術運算符來看

i=1
i += 1
print(i)
i -= 1
print(i)
i *= 2
print(i)
i /= 2
print(i)
i = 10
i %= 3
print(i)
i = 10
i //= 3
print(i)
i **= 2
print(i)

輸出結果:
2
1
2
1.0
1
3
9
           

位運算符:

進制轉換

int( ):十進制

bin( ):二進制

oct( ): 八進制

hex( ): 十六進制

print(bin(10))#十進制轉二進制
print(oct(10))#十進制轉八進制
print(hex(10))#十進制轉十六進制
輸出結果:
0b1010
0o12
0xa

#轉十進制
print(int(0b1010))
print(int(0o12))
print(int(0xa))
           

運算方法與規則:

位運算符隻能适用于整數,其總體運算規則為:首先把整數轉換為二進制表示形式,按最低位對齊,短的高位補0,然後進行位運算,最後把得到的二進制轉換為十進制數。

位與(&):0&0=0&1=1&0=0,1&1=1

位或(|):0|1=1|0=1|1=1,0|0=0

位求反():0=1,1=0,對于整數x有x=-(x+1)

位異或():00=11=0,01=1^0=1

左移位(<<):原來的所有位左移,最低位補0,相當于乘以2

和右移位(>>):原來的所有位右移,最低位丢棄,最高位使用符号位填充,相當于整除2

#位運算是基于二進制操作的,是以需要将十進制數化成二進制來運算
print(1&8)# =0
# 0001
# 1000
# 0000
print(1&9)# =1
# 0001
# 1001
# 0001
print(1|9)# =9
# 0001
# 1001
# 1001
print(1|8)# =8
# 0001
# 1000
# 1001
print(~1)
#計算機内部是使用二進制補碼形式來存儲資料的,整數的補碼與原碼相同,
# 而負數的補碼為其絕對值的原碼各位求反再加1,是以正數求反為其絕對值的負數減1
# 0000 0001  = 1
# 1111 1110  = -2
# 1111 1111  = -1
print(9^10)# = 3
# 1001
# 1010
# 0011
print(8 >> 2)# = 2
#0000 1000
#0000 0010
print(2 << 2)# = 8
#0000 0010
#0000 1000
           

邏輯運算符

and: 且,至少滿足兩個條件才成立

or:或,隻滿足其一,或者都滿足,就可成立

not: 不滿足條件即成立

for i in range(3):
    if i==1 and i<2:
     print(i,"邏輯成立")
    else:print(i,"不成立")
輸出結果:
0 不成立
1 邏輯成立
2 不成立


for i in range(6):
    if i==2 or i<4:
     print(i,"邏輯成立")
    else:print(i,"不成立")
輸出結果:
0 邏輯成立
1 邏輯成立
2 邏輯成立
3 邏輯成立
4 不成立
5 不成立

for i in range(4):
    if not i<2:
     print(i,"邏輯成立")
    else:print(i,"不成立")

輸出結果:
1 不成立
2 邏輯成立
3 邏輯成立

           

身份運算符:

is:是

is not:不是

test_data = None

if test_data is None:
    print("None")

if test_data is not None:
    print("Not None")
           

成員運算符:in、 not in

list_data = [1, 2, 3, 4]
if 1 in list_data:
    print("Yes it is in list")
if 5 not in list_data:
    print("It is not in")
輸出結果:
Yes it is in list
It is not in
           
下一篇: 運算符--