1、求絕對值
1 >>> a = -10 2 >>> a.__abs__() 3 10 4 >>> abs(10) 5 10
2、加法
1 >>> a = 1 2 >>> a.__add__(1) 3 2 4 >>> a + 1 5 2
3、按位與
1 >>> a = 1 2 >>> a.__and__(0) 3 0 4 >>> a & 0 5 0
4、求bool值
1 >>> a = 1 2 >>> a.__bool__() 3 True 4 >>> a != 0 5 True
5、返回數字的上入整數
1 >>> int.__ceil__(2) 2 2 3 >>> import math 4 >>> math.ceil(2) 5 2
6、地板除並取模
1 >>> a = 10 2 >>> a.__divmod__(3) 3 (3, 1) 4 >>> divmod(10, 3) 5 (3, 1)
7、是否相等
1 >>> a = 1 2 >>> a.__eq__(1) 3 True 4 >>> a == 1 5 True
8、轉float類型
1 >>> a = 1 2 >>> a.__float__() 3 1.0 4 >>> float(a) 5 1.0
9、數字的下舍整數
1 >>> int.__floor__(3) 2 3 3 >>> import math 4 >>> math.floor(3) 5 3
10、地板除
1 >>> a = 10 2 >>> a.__floordiv__(3) 3 3 4 >>> a // 3 5 3
11、數據格式化
1 >>> int.__format__(0, '3') 2 ' 0' 3 >>> int.__format__(0, '2') 4 ' 0' 5 >>> int.__format__(0, '1') 6 '0'
12、大於等於
1 >>> a = 1 2 >>> a.__ge__(0) 3 True 4 >>> a >= 0 5 True
13、獲取對象的屬性
1 >>> a = 1 2 >>> a.__getattribute__('real') 3 1 4 >>> getattr(a, 'real') 5 1
14、__getnewargs__
15、大於
1 >>> a = 1 2 >>> a.__gt__(0) 3 True 4 >>> a > 0 5 True
16、哈希
1 >>> a = 1 2 >>> a.__hash__() 3 1 4 >>> hash(a) 5 1
17、__index__
1 >>> a = 10 2 >>> a.__index__() 3 10 4 >>> a = [1, 2, 3] 5 >>> a[1] 6 2
18、轉換為int
1 >>> a = 1.5 2 >>> a.__int__() 3 1 4 >>> int(a) 5 1
19、取反
1 >>> ~10 2 -11 3 >>> (10).__invert__() 4 -11
python默認的是有符號表示數,10的二進制 0000 1010,取反之后 1111 0101
取反之后,符號位從0變成了1,成了一個負數,而已1作為符號位開頭,計算機會將其識別為補碼
因為負數在機器中是以補碼表示、補碼轉換真值的方式為補碼的數值位,
也就是除符號位之外的各位取反后加1。
1111 0101除符號位取反后的值為1000 1010,再加1,便得到1000 1011,轉換成十進制,便是-11
20、小於等於
1 >>> a = 1 2 >>> a.__le__(2) 3 True 4 >>> a <= 2 5 True
21、左移
1 >>> a = 1 2 >>> a.__lshift__(1) 3 2 4 >>> a <<1 5 2
22、小於
1 >>> a = 1 2 >>> a.__lt__(2) 3 True 4 >>> a < 2 5 True
23、取余
1 >>> a = 10 2 >>> a.__mod__(3) 3 1 4 >>> a % 3 5 1
24、乘
1 >>> a = 1 2 >>> a.__mul__(2) 3 2 4 >>> a * 2 5 2
25、不等於
1 >>> a = 1 2 >>> a.__ne__(2) 3 True 4 >>> a != 2 5 True
26、相反數
1 >>> a = 1 2 >>> a.__neg__() 3 -1 4 >>> -a 5 -1
27、按位或
1 >>> a = 1 2 >>> a.__or__(2) 3 3 4 >>> a | 2 5 3
28、加+號
1 >>> +10 2 10 3 >>> (10).__pos__() 4 10
29、x的y次方,取余
1 >>> a = 2 2 >>> a.__pow__(2) 3 4 4 >>> a.__pow__(2, 3) 5 1 6 >>> pow(2, 2) 7 4 8 >>> pow(2, 2, 3) 9 1
30、反向加
1 >>> a = 1 2 >>> a.__radd__(1) 3 2 4 >>> 1 + a 5 2
31、反向與
1 >>> a = 1 2 >>> a.__and__(2) 3 0 4 >>> 2 & a 5 0
32、反向地板除取模
>>> a = 3 >>> a.__rdivmod__(10) (3, 1) >>> divmod(10, 3) (3, 1)
33、轉字符串
1 >>> a = 1 2 >>> a.__repr__() 3 '1' 4 >>> repr(a) 5 '1'
34、反向地板除
1 >>> a = 3 2 >>> a.__rfloordiv__(10) 3 3 4 >>> 10 // 3 5 3
35、反向左移
1 >>> a = 1 2 >>> a.__rlshift__(3) 3 6 4 >>> 3 << 1 5 6
36、反向取模
1 >>> a = 3 2 >>> a.__rmod__(10) 3 1 4 >>> 10 % 3 5 1
37、反向乘
1 >>> a = 2 2 >>> a.__mul__(3) 3 6 4 >>> 3 * 2 5 6
38、反向或
1 >>> a = 1 2 >>> a.__ror__(2) 3 3 4 >>> 2 | 1 5 3
39、四舍五入值
1 >>> round(10) 2 10 3 >>> (10).__round__() 4 10
40、反向成方取模
1 >>> a = 3 2 >>> a.__rpow__(2) 3 8 4 >>> a.__rpow__(2, 3) 5 2 6 >>> pow(2, 3) 7 8 8 >>> pow(2, 3, 3) 9 2
41、反向右移
1 >>> a = 1 2 >>> a.__rrshift__(4) 3 2 4 >>> 4 >> 1 5 2
42、反向減法
1 >>> a = 1 2 >>> a.__rsub__(3) 3 2 4 >>> 3 - 1 5 2
43、反向真除
1 >>> a = 4 2 >>> a.__rtruediv__(3) 3 0.75 4 >>> 3 / 4 5 0.75
44、反向異或
1 >>> a = 2 2 >>> a.__xor__(3) 3 1 4 >>> 3 ^ 2 5 1
45、占內存大小,bytes
1 >>> a = 2 2 >>> a.__sizeof__() 3 28
46、轉字符串
1 >>> a = 2 2 >>> a.__str__() 3 '2' 4 >>> str(2) 5 '2'
47、減法
1 >>> a = 5 2 >>> a.__sub__(2) 3 3 4 >>> 5 - 2 5 3
48、真除
1 >>> a = 5 2 >>> a.__truediv__(2) 3 2.5 4 >>> 5 / 2 5 2.5
49、__trunc__
截取返回自己
50、異或
1 >>> a = 2 2 >>> a.__xor__(3) 3 1 4 >>> 2 ^ 3 5 1
51、需要的bit位數
1 >>> bin(37) 2 '0b100101' 3 >>> (37).bit_length() 4 6
52、conjugate
轉成復數,返回自己
53、from_bytes
int.from_bytes(bytes, byteorder, *, signed=False) -> int 默認是無符號類型
1 >>> int.from_bytes(b'\xb3\x15\x00\x00', 'little') 2 5555
54、to_bytes
int.to_bytes(length, byteorder, *, signed=False) -> bytes 默認是無符號類型
length:轉換的長度
byteorder:'big' or 'little'
signed:符號位
1 >>> (100).to_bytes(2, 'big', signed=False) 2 b'\x00d' 3 >>> (100).to_bytes(2, 'big', signed=True) 4 b'\x00d' 5 >>> (-100).to_bytes(2, 'big', signed=False) 6 Traceback (most recent call last): 7 File "<console>", line 1, in <module> 8 OverflowError: can't convert negative int to unsigned 9 >>> (-100).to_bytes(2, 'big', signed=True) 10 b'\xff\x9c'
1 >>> (5555).to_bytes(2, 'big') 2 b'\x15\xb3' 3 >>> (5555).to_bytes(2, 'little') 4 b'\xb3\x15'
1 >>> (5555).to_bytes(2, 'big') 2 b'\x15\xb3' 3 >>> (5555).to_bytes(4, 'big') 4 b'\x00\x00\x15\xb3' 5 >>> (5555).to_bytes(4, 'little') 6 b'\xb3\x15\x00\x00'
55、分子部分
1 >>> a = 5 2 >>> a.numerator 3 5
56、分母部分
1 >>> a = 5 2 >>> a.denominator 3 1
57、復數的實部
1 >>> a = 5 2 >>> a.real 3 5
58、復數的虛部
1 >>> a = 5 2 >>> a.imag 3 0