加減運算 Python運算子可不只有加減乘除

2021-10-16 09:59:52 字數 3990 閱讀 999

c = 0# 加

c = a + b # 31# 減

c = a - b # 11# 乘

c = a * b # 210# 除

c = a / b # 2.1# 求餘數

c = a % b # 1# 冪(次方)

a = 2

b = 3

c = a**b # 8# 取整數,向下取接近商的整數

c = 9//2 # 4

c = -9//2 # -5

**中的if ... else ...是指「如果,滿足條件,做什麼事,否則,做其他事」。
a = 21

b = 10

c = 0# 等於if ( a == b ):

print("a 等於 b")else:

print("a 不等於 b")# 不等於if ( a != b ):

print("a 不等於 b")else:

print("a 等於 b")# 小於if ( a < b ):

print("a 小於 b")else:

print("a 大於等於 b")# 大於if ( a > b ):

print("a 大於 b")else:

print("a 小於等於 b")

a = 5

b = 20# 小於等於if ( a <= b ):

print("a 小於等於 b")else:

print("a 大於 b")# 大於等於if ( b >= a ):

print("b 大於等於 a")else:

print("b 小於 a")

=是賦值運算子,算術運算子都可以右邊加上=變成「算術賦值」運算子。
a = 21

b = 10

c = 0# 簡單的賦值

c = a + b # 31# 等價於 c = c + a

c += a # 52# 等價於 c = c - a

c -= a # 31# 等價於 c = c * a

c *= a # 651# 等價於 c = c / a

c /= a # 31.0

c = 2# 等價於 c = c % a

c %= a # 2# 等價於 c = c ** a

c **= a # 2097152# 等價於 c = c // a

c //= a # 99864

python3.8 新增了海象運算子:=,可以在表示式內部為變數賦值:
if (n := len(a)) > 10:

print(f"list is too long ( elements, expected <= 10)")

我們常見的數字是十進位制的,十進位制可以轉換為 01 形式的二進位制,例如 60 的轉換為二進位制後變成了 0011 1100。位運算子就是把數字看作二進位制來進行計算。
a = 60            # 60 = 0011 1100 

b = 13 # 13 = 0000 1101

c = 0# 與,兩個值都為1,結果為1,否則為0

c = a & b # 12 = 0000 1100# 或,兩個值有乙個為1,結果就為1

c = a | b # 61 = 0011 1101 # 異或,兩個值不同,結果為1

c = a ^ b # 49 = 0011 0001# 取反,0變成1,1變成0

c = ~a # -61 = 1100 0011# 左移,高位丟棄,低位補0

c = a << 2 # 240 = 1111 0000# 右移,低位丟棄,高位補0

c = a >> 2 # 15 = 0000 1111

經常用在判斷條件裡面,判斷條件為 true / false。
a = 10

b = 20# 布林「與」,2個值都為true,結果為trueif ( a and b ):

print("變數 a 和 b 都為 true")else:

print("變數 a 和 b 有乙個不為 true")# 布林「或」,只要有乙個為true,結果就為trueif ( a or b ):

print("變數 a 和 b 都為 true,或其中乙個變數為 true")else:

print("變數 a 和 b 都不為 true")# 修改變數 a 的值

a = 0if ( a and b ):

print("變數 a 和 b 都為 true")else:

print("變數 a 和 b 有乙個不為 true")if ( a or b ):

print("變數 a 和 b 都為 true,或其中乙個變數為 true")else:

print("變數 a 和 b 都不為 true")if not( a and b ):

print("變數 a 和 b 都為 false,或其中乙個變數為 false")else:

print("變數 a 和 b 都為 true")

注意,邏輯運算子是從左到右依次運算的,只要不符合條件就不會繼續運算,比如 and,只要出現了 false,就會停止運算,結果直接判定為 false。比如 or,只要出現了 true,就會停止運算,結果直接判定為 true。

成員是指字串、列表、元組等系列中的元素,成員運算子用於判斷元素是否在系列裡面。

a = 10

b = 20list = [1, 2, 3, 4, 5 ]# in 在裡面if ( a in list ):

print("變數 a 在給定的列表中 list 中")else:

print("變數 a 不在給定的列表中 list 中")# not in 不在裡面if ( b not in list ):

print("變數 b 不在給定的列表中 list 中")else:

print("變數 b 在給定的列表中 list 中")

python 裡面的物件其實都有乙個記憶體位址,可以使用id()函式來獲取,身份就是指的記憶體位址。
a = 20

b = aif ( a is b ):

print("a 和 b 有相同的標識") # 結果else:

print("a 和 b 沒有相同的標識")if ( id(a) == id(b) ):

print("a 和 b 有相同的標識") # 結果else:

print("a 和 b 沒有相同的標識")# 修改變數 b 的值

b = 30if ( a is b ):

print("a 和 b 有相同的標識")else:

print("a 和 b 沒有相同的標識") # 結果if ( a is not b ):

print("a 和 b 沒有相同的標識") # 結果else:

print("a 和 b 有相同的標識")

我們在前面知道==是可以判斷變數是否相等的,注意,==判斷的是值是否相等,is判斷的是引用(記憶體位址)是否相等。

不用刻意記優先順序,實際編碼時請盡情濫用小括號(),防止優先順序算錯。

python 運算子 Python運算子

python語言支援以下型別的運算子 算術運算子 比較 關係 運算子 賦值運算子 邏輯運算子 位運算子 成員運算子 身份運算子 運算子優先順序 1 算術運算子 加號 減號 乘 除 取餘 乘方 整除 1 其中除號 要注意 在python2中,用作整除。解決方法有三 1 兩個相除的數中有乙個為實數。2 ...

python 運算子 python(運算子)

一 運算子 1.算數運算子 1 加 注意 字串與整數之間不能進行相加,需要通過str 或int 進行轉換資料型別 整數與整數相加 1 1 浮點數與浮點數相加 2.0 2.0 4.0 二進位制儲存精度誤差 1.1 1.3 2.4000000000000004 整數與浮點數相加 2 2.0 4.0字串之...

python增強運算子 Python 運算子過載

python語言提供了運算子過載功能,增強了語言的靈活性,這一點與c 有點類似又有些不同。鑑於它的特殊性,今天就來討論一下python運算子過載。python語言本身提供了很多魔法方法,它的運算子過載就是通過重寫這些python內建魔法方法實現的。這些魔法方法都是以雙下劃線開頭和結尾的,類似於x的形...