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 变量(它是一个整数)。
另请阅读