運算符
運算符(operator)就是諸如加、減、乘、除之類的東西,但一般程序語言支持的運算符要比這多的多。前面的章節已經介紹了部分,這里列出完整內容。
-
算術運算符
運算符 說明 例子 + 加 1 + 1 結果為 2 - 減 1 - 1 結果為 0 * 乘 2 * 3 結果為 6 / 除 6 / 2 結果為 3 % 取模, 即除法取余數 5 % 2 結果為 1 ** 冪,即幾次方 2 ** 3 結果為 8 // 取整除,即除法取整(向下取整) 9 // 2 結果為 4 -
比較運算符
運算符 說明 例子 == 等于 1 == 1 結果為 True != 不等于 1 != 2 結果為 True > 大于 3 > 2 結果為 True < 小于 3 < 2 結果為 False >= 大于等于 3 >= 2 結果為 True <= 小于等于 3 <= 2 結果為 False -
賦值運算符
運算符 說明 例子 = 賦值 a = 1 += 加法并賦值 a += 1 等效于 a = a + 1 -= 減法并賦值 a -= 1 等效于 a = a - 1 *= 乘法并賦值 a *= 1 等效于 a = a * 1 /= 除法并賦值 a /= 1 等效于 a = a / 1 %= 取模并賦值 a %= 1 等效于 a = a % 1 **= 冪賦并值 a **= 1 等效于 a = a ** 1 //= 取整除并賦值 a //= 1 等效于 a = a // 1 -
邏輯運算符
一般用于條件運算,為了方便,下面例子假設x = 10, y = 20。運算符 說明 例子 and 與 x > 0 and y > 0 結果為 True or 或 x > 15 or y > 15 結果為 True not 非 not (x == 10) 結果為 False -
位運算符
位運算符(Bitwise Operators)相當于把數字按二進制方式進行運算,為了方便,下面例子假設x = 0b1111, 即15, y = 0b0011, 即3。運算符 說明 例子 & 按位與 x & y 結果為 3 按位或 x | y 結果為 15 ~ 按位取反 ~x 結果為 -16, 即 -0b10000, 符號位也取反了 << 左移 x << 2 結果為 60 >> 右移 x >> 2 結果為 3
-
成員運算符
成員運算符(Membership Operator)用于判斷一個對象是否在序列中。運算符 說明 例子 in 在序列里 2 in [1,2,3] 結果為 True not in 不在序列里 4 not in [1,2,3] 結果為 True
-
身份運算符
身份運算符(Identity Operators)用于比較兩個對象的id,Id值一樣就表示對象的內存地址一樣,也就是兩個對象其實是同一個對象。運算符 說明 例子 is 是 x is y,如果x和y都指向同一個對象,則結果為True is not 不是 x is not y,如果x和y指向不同對象,則結果為True -
運算符優先級
就像小學數學里的先乘除后加減一樣,運算是有優先級的,不過這東西一般不要刻意去記,需要時再查,或者寫的時候使用括號。
下表優先級從高到低排列。優先級 運算符 1 ** 2 ~、 +、 - 3 *、 /、 %、 // 4 +、 - 5 >>、 << 6 & 7 ^、 8 <=、 <、 >、 >= 9 <>、 ==、 != 10 =、 %=、 /=、 //=、 -=、 +=、 *=、 **= 11 is、 is not 12 in、 not in 13 not、 or、 and