1. 程式人生 > >Python 基礎入門 3 運算符與表達式

Python 基礎入門 3 運算符與表達式

int 結果 成員 其余 入門 邏輯運算符 賦值運算 基礎 數字

# 運算符分算術運算符,賦值運算符,復合運算符,邏輯運算符,位運算符

# 算術運算用於Number數據類型的運算,部分算術運算符可用於String數據類型
# 算術運算符:+(加),-(減),*(乘),/(除),%(求余),**(求冪) 相當於pow()函數,//(取整)
# print(5+2 , 5-2 , 5*2 , 5/2 ,5%2 , 5**2 , 5//2)
# print("a"*2+"abc"*4)

#賦值運算符用於給變量賦值,賦值運算符:=
# Num1 = 1
# print(Num1)

#復合運算符:+=,-=,*=,/=,%=,**=,//=
#復合運算相當於算術運算後賦值給變量 即:a += 1 相當於 a = a+1
# Num2=Num3=Num4=Num5=Num6=Num7=Num1
# Num1 += 1
# Num2 -= 1
# Num3 *= 2
# Num4 /= 0.2
# Num5 %= 2
# Num6 **= 0
# Num7 //= 2
# print(Num1 , Num2 ,Num3 ,Num4 ,Num5 ,Num6 , Num7)

#邏輯運算符:<,>,<=,>=,==,!=(不等於),and(與),or(或),not(非)
#邏輯運算用於運算事的真與假. 假的值有 0,0.0,False,none,空,其余則為真
print(int(0>1)and int(0<1))
print(0>1or 0<1)
print(not 0)

#成員運算符: in ,not in
#用於判斷序列(string數據類型也是序列的一種)中是否有對應的值

#身份運算符: is , is not
#用於判斷變量是否引用同一個對象
Str1, Str2 ="string","strint"
print(Str1 is Str2)

#位運算符是按位運算符是把數字看做二進制進行計算,當運算完後是新的補碼,並不是原碼
# 位運算符:&(與) ,|(或),^(異或),~(取反)
# &位運算符計算,在相應的位數上都為1,則該位的結果為1,否則為0
# print(-5 & 7)
"""
-5的二進制 1000 0101
-5的補碼 1111 1011
7的二進制 0000 0111
-------------------------
-5 & 7 = 0000 0011(二進制)= 3(十進制)
"""
# |位運算符計算,在相應的位數上只要有1,則該位為1,否則為0
# print( -6 | 4)
"""
6的二進制 0000 0110
-6的二進制 1000 0110
-6的反碼 1111 1010
4的二進制 0000 0100
------------------------
6 | 4 = 0000 0110(二進制) = 6(十進制)
-6 | 4 = 1111 1110 (二進制補碼) = 1000 0010(原碼) = -2
"""
# ^ 位運算符計算,在相對的位數上相異時,該位為1,否則為0
# print(-7 ^ 2)
"""
-7的二進制:1000 0111
2的二進制:0000 0010
-----------------------
7 ^ 2 :1000 0101 = -5 (十進制)
"""

# ~位運算符計算,對於二進制補碼數據位取反
# print(~7)
"""
7的補碼: 0000 0111
~7的補碼: 1111 1000
~7的反碼: 1111 0111
~7的原碼: 1000 1000 = -8 (十進制)
"""

# << 位運算符號:各二進制全部左移動若幹位,有《右邊的數字(數字只能是正整數)決定,
# 高位丟棄(這裏的高位不代表符號,代表的是值),低位補0
# print(-1 << 8)
"""
-1 二進制 :1000 0001
左移動8位 :1001 0000 0000 = -2的8次方(十進制)
"""

# >> 位運算符:各二進制全部右移動,由>>右邊的數字(正整數)決定,
# 計算方式和<<位運算符一致
# print(-256 >> 8)
"""
-256 二進制 :1001 0000 0000
右移動8位 :1000 0001
"""







Python 基礎入門 3 運算符與表達式