跳到主要内容

Python int() 函数

int() 函数将数字或字符串转换为其对应的整数。

示例

# 将浮点数转换为其对应的整数
result = int(9.9)
print('int(9.9):', result) # int(9.9): 9

int() 语法

int() 方法的语法是:

int(value, base [可选])

int() 参数

int() 方法接受两个参数:

  • value - 任何数字字符串、类字节对象或数字
  • base [可选] - value 当前所在的数字系统

int() 返回值

int() 方法返回:

  • 数字的整数部分 - 对于单个参数值(任何数字)
  • 0 - 没有参数时
  • 给定基数(0,2,8,10,16)的数字的整数表示

示例 1:单参数的 Python int()

# int() 带有整数值
print("int(123) 是:", int(123))

# int() 带有浮点数值
print("int(123.23) 是:", int(123.23))

# int() 带有数字字符串值
print("int('123') 是:", int("123"))

输出

int(123): 123
int(123.23): 123
int('123'): 123

在上面的示例中,我们返回了整数、浮点数和字符串值的整数等价值。

示例 2:带有两个参数的 int()

# 将字符串(二进制格式)转换为整数
print("对于 0b101,int 是:", int("0b101", 2))

# 将字符串(八进制格式)转换为整数
print("对于 0o16,int 是:", int("0o16", 8))

# 将字符串(十六进制格式)转换为整数
print("对于 0xA,int 是:", int("0xA", 16))

输出

对于 0b101int: 5
对于 0o16int: 14
对于 0xAint: 10

示例 3:对自定义对象使用 int()

即使对象不是数字,我们仍然可以将其转换为整数对象。

我们可以通过重写类的 __index__()__int__() 方法来轻松实现,以返回一个数字。

这两种方法是相同的。新版本的 Python 使用 __index__() 方法。

class Person:
age = 23

def __index__(self):
return self.age

# def __int__(self):
# return self.age
person = Person()

# int() 方法与非整数对象 person
print("int(person) 是:", int(person))

输出

int(person): 23

在上面的示例中,Person 类不是整数类型。

但是我们仍然可以使用 int() 方法返回 age 变量(它是一个整数)。

推荐阅读: