1. 算術運算子
a = 5
b = -5
c = 2
print(a//c, b//c)
2 -3
python3: python3中的除法(/)返回浮點型
a = 5
b = 3
print(a/b)
1.6666666666666667
python2: python2中的除法返回型別與除數和被除數型別一致
a = 5
b = 5.0
c = 3
print a/c, b/c
1 1.66666666667
原理:x%y
等於x-n*y
對於某個整數 n ,使得結果具有與 x 相同的符號且小於abs(y)
print(8 % 7)
print(-8 % 7)
print(8 % -7)
print(-8 % -7)
16-6
-1
2. 比較運算子
a = 5
b = 5
print(a == b, a is b)
a = [1, 2]
b = [1, 2]
print(a == b, a is b)
true true
true false
== 判斷的是兩個物件的內容是否相同
is 判斷的是兩個物件的記憶體位址是否相同,即兩個變數指向的是同乙個物件
使用函式id(object)檢視物件的位址
a = 5
b = 5
print(a == b, a is b)
print(id(a), id(b))
a = [1, 2]
b = [1, 2]
print(a == b, a is b)
print(id(a), id(b))
true true
140716394127888 140716394127888
true false
3039645684104 3039645684616
3. 位運算子
a = 8, b = -8, c = 5, d = -5
轉換為二進位制
a = 00001000
b = 11111000 (負數的二進位制為其絕對值的補碼,補碼=~原碼 + 1)
c = 00000101
d = 11111011
a = 8
b = -8
c = 5
d = -5
print(a&b, a&c, a&d, b&c, b&d, c&d)
8 0 8 0 -8 1
使用場景
1). 判斷乙個數的奇偶性
原理:任意乙個奇數同1相與都等於1,任意乙個偶數同1相與都等於0
def isoddnum(x):
return true if (x & 1) else false
2). 計算乙個數的二進位制中有多少個1
原理:x&(x-1)結果是將x最低位的1置為0
x = 00001100
x - 1 = 00001011
x&(x-1) = 00001000
def count1nums(x):
count = 0
while x:
x = x & (x-1)
count = count + 1
return count
a = 8
b = -8
c = 5
d = -5
print(a^b, a^c, a^d, b^c, b^d, c^d)
-16 13 -13 -3 3 -2
使用場景
1). 查詢列表中獨一無二的數
乙個列表中有且僅有乙個數是唯一的,其餘數都出現2次,求該唯一數
原理:任意數與自身異或運算,結果為0;任意數與0異或,結果為自身;位運算滿**換結合律
例如:[1,2,3,2,1] 1^2^3^2^1 = (1^1)^(2^2)^3 = 0^0^3 = 3
from functools import reduce
def singlenumber(nums) -> int:
return reduce(lambda x, y: x ^ y, nums)
4. 運算子優先順序
運算子描述** 指數
(最高優先順序)
~ 、+、 -
按位翻轉
, 一元加號和減號
(最後兩個的方法名為
+@ 和
-@)
*、 / 、% 、//
乘,除,求餘數和取整除
+ 、-
加法減法
>> 、<<
右移,左移運算子 &
位'and'
^、 |
位運算子
<= 、< 、> 、>=
比較運算子
== 、!=
等於運算子
= 、%=、 /= 、//=、 -= 、+= 、*= 、**=
賦值運算子
is 、is not
身份運算子
in 、not in
成員運算子
not 、and 、or
邏輯運算子
[-2**31, 2**31 - 1] = [-2<<30, (2<<30) - 1]
python3學習日記 運算子
python語言支援以下型別的運算子 下面主要講一下成員運算子 身份運算子 邏輯運算子以及運算子優先順序運算子描述 in如果在指定的序列中找到值返回 true,否則返回 false。not in 如果在指定的序列中沒有找到值返回 true,否則返回 false。fruit orange banana...
C 學習日記 運算子過載
c 運算子過載 賦予運算子另一種作用,實現自定義型別的運算 如物件 物件變成int int一樣 c 運算子過載內容 1.友元過載 友元 宣告 友元關係是單向的,不可傳遞 2.輸入輸出流過載 class cstring else cstring cstring const cstring src cs...
python 運算子 Python運算子
python語言支援以下型別的運算子 算術運算子 比較 關係 運算子 賦值運算子 邏輯運算子 位運算子 成員運算子 身份運算子 運算子優先順序 1 算術運算子 加號 減號 乘 除 取餘 乘方 整除 1 其中除號 要注意 在python2中,用作整除。解決方法有三 1 兩個相除的數中有乙個為實數。2 ...