1 介绍
在Python中有多种内置的数据类型,如int、float、str、dict、list等。
在本文中,会介绍int数据类型中一些内置的方法。
int类型的部分内置方法如下:
class int:
@overload
def __new__(cls: type[Self], __x: str | ReadableBuffer | SupportsInt | SupportsIndex | SupportsTrunc = ...) -> Self: ...
@overload
def __new__(cls: type[Self], __x: str | bytes | bytearray, base: SupportsIndex) -> Self: ...
def bit_length(self) -> int: ...
def __add__(self, __x: int) -> int: ...
def __sub__(self, __x: int) -> int: ...
def __mul__(self, __x: int) -> int: ...
...
上述定义可以看出,int类型实际上是一个Python类,其里面提供了许多内置方法,在本文中不会介绍全部的方法,只会介绍大部分可能会用到的方法。
为了方便表达,在后续的篇幅中,会使用num来代表当前的数值,而value代表的是每个方法中需要传入的参数。
2 str 转 int
在Python中,可以将str类型的整数转换为int类型,转换示例如下:
num="17"
print(num)
print(type(num))
num=int(num)
print(num)
print(type(num))
# 运行结果:
17
<class 'str'>
17
<class 'int'>
上面的示例中int(num)
会将str类型的十进制整数转换成int类型,那么能不能将str类型的其他进制数转换成int类型呢?
答案是可以的,示例如下:
hexNum="1a"
print(hexNum)
# 将hexNum以16进制的形式转换成int类型
num=int(hexNum,16)
print(num)
print(type(num))
# 将hexNum以32进制的形式转换成int类型
num=int(hexNum,32)
print(num)
print(type(num))
# 运行结果:
1a
26
<class 'int'>
42
<class 'int'>
上面的示例中int(hexNum,16)
就是将str类型的字符串以16进制数的形式转换成int类型的整数。
# int.__new__的定义
@overload
def __new__(cls: type[Self], __x: str | ReadableBuffer | SupportsInt | SupportsIndex | SupportsTrunc = ...) -> Self: ...
@overload
def __new__(cls: type[Self], __x: str | bytes |