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 04 >>> a &05 0
4、求bool值
1 >>> a = 1
2 >>> a.__bool__()3 True4 >>> a !=05 True
5、返回数字的上入整数
1 >>> int.__ceil__(2)2 2
3 >>> importmath4 >>> 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 True4 >>> 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 >>> importmath4 >>> 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 True4 >>> a >=05 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 True4 >>> a >05 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 True4 >>> 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 True4 >>> 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 True4 >>> a != 2
5 True
26、相反数
1 >>> a = 1
2 >>> a.__neg__()3 -1
4 >>> -a5 -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 +a5 2
31、反向与
1 >>> a = 1
2 >>> a.__and__(2)3 04 >>> 2 &a5 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 "", line 1, in
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.numerator3 5
56、分母部分
1 >>> a = 5
2 >>>a.denominator3 1
57、复数的实部
1 >>> a = 5
2 >>>a.real3 5
58、复数的虚部
1 >>> a = 5
2 >>>a.imag3 0