速戰速決 Python - python 基礎: 運算符

速戰速決 Python https://github.com/webabcd/PythonSample
作者 webabcd

速戰速決 Python - python 基礎: 運算符

示例如下:

basic/operators.py

# python 運算符

# 算術運算符 + - * / % ** //
# a ** b 返回 a 的 b 次冪
print(2 ** 8) # 256
# a // b 返回 a 除以 b 後的商並向下取整
print(5 // 2) # 2
print(-5 // 2) # -3

# 比較運算符 == != > < >= <=

# 賦值運算符 = += -= *= /= %= **= //=

# 位運算符 & | ^ ~ << >>
# & 與,兩位都爲 1 則結果爲 1
# | 或,兩位有一個爲 1 則結果爲 1
# ^ 異或,兩位不同則結果爲 1
# ~ 取反,0 變爲 1,1 變爲 0
# << 左移,左移指定的位數,高位丟棄,低位補 0
# >> 右移,右移指定的位數,高位補 0(不一定?),低位丟棄

# 邏輯運算符 and, or, not
print(True and False) # False
print(True or False) # True
print(not False) # True

# 成員運算符 in, not in
list = [1, 2, 3, 4, 5]
print(1 in list) # True
print(1 not in list) # False

# 身份運算符(identity operator) is, is not
# is 和 is not 用於判斷兩個變量的指針地址是否相同,== 和 != 用於判斷兩個變量引用的值是否相同
# 對於不可變類型(Number, String, Tuple)來說,如果他們的值相同,則他們的指針相同
a = "abc"
b = "abc"
print(id(a), id(b), a == b, a is b, a is not b) # 1587785078192 1587785078192 True True False
b = "xyz"
print(id(a), id(b), a == b, a is b, a is not b) # 1587785078192 1587785086000 False False True
# 對於可變類型(List, Set, Dictionary)來說,他們的值相同,並不意味着他們的指針相同
c = [1, 2, 3]
d = [1, 2, 3]
print(id(c), id(d), c == d, c is d, c is not d) # 1587785132928 1587785135808 True False True
# is, is not 也常用於判斷某數據是否是指定的類型
print(type(3.14) is float) # True

速戰速決 Python https://github.com/webabcd/PythonSample
作者 webabcd

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章