Python int()

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

示例

# converting a floating-point number to its equivalent integer

result = int(9.9)
print('int(9.9):', result)    # int(9.9): 9

int() 语法

int() 方法的语法是

int(value, base [optional])

int() 参数

int() 方法接受两个参数

  • value - 任何数字字符串、字节类对象或数字
  • base [可选] - 值当前所处的进制

int() 返回值

int() 方法返回

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

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

# int() with an integer value
print("int(123) is:", int(123))

# int() with a floating point value
print("int(123.23) is:", int(123.23))

# int() with a numeric-string value
print("int('123') is:", int("123"))

输出

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

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


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

# converting a string (that is in binary format) to integer
print("For 0b101, int is:", int("0b101", 2))

# converting a string (that is in octal format) to integer
print("For 0o16, int is:", int("0o16", 8))

# converting a string (that is in hexadecimal format) to integer
print("For 0xA, int is:", int("0xA", 16))

输出

For 0b101, int is: 5
For 0o16, int is: 14
For 0xA, int is: 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() method with a non integer object person print("int(person) is:", int(person))

输出

int(person) is: 23

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

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


另请阅读

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战