什么是 int() 函数?
在 Python 中,int() 是一个内置函数,用于将其他类型的对象(如字符串、浮点数、布尔值等)转换为整数。
它是处理用户输入、数据清洗和类型标准化时最常用的工具之一。
基本用法示例
1. 字符串转整数
s = "123"
n = int(s)
print(n) # 输出: 123
⚠️ 注意:
int("12.3") 会报错!因为字符串必须表示一个整数,不能包含小数点。
2. 浮点数转整数
f = 45.9
n = int(f)
print(n) # 输出: 45(直接截断,不四舍五入)
3. 布尔值转整数
print(int(True)) # 输出: 1
print(int(False)) # 输出: 0
4. 其他进制字符串
print(int("1010", 2)) # 二进制 → 10
print(int("FF", 16)) # 十六进制 → 255
常见错误与异常处理
当传入无法转换的对象时,int() 会抛出 ValueError 或 TypeError。
try:
num = int("abc")
except ValueError as e:
print("转换失败:", e)
✅ 建议:在处理用户输入或外部数据时,始终使用 try-except 包裹
int() 调用。
高级技巧:自定义对象支持 int()
你可以通过在类中定义 __int__() 方法,让自定义对象支持被 int() 转换:
class Score:
def __init__(self, value):
self.value = value
def __int__(self):
return int(self.value)
s = Score(89.7)
print(int(s)) # 输出: 89
总结
int(x)可将字符串、浮点数、布尔值等转为整数。- 字符串必须是合法整数格式(可带正负号)。
- 浮点数会被截断(非四舍五入)。
- 使用 try-except 防止程序崩溃。
- 自定义类可通过
__int__支持转换。