python int對象的方法


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM