什么是 int()?
在 Python 中,int() 是一个内置函数,用于将其他类型的值(如字符串、浮点数等)转换为整数(int 类型)。
它也可以用于将不同进制的字符串表示转换为十进制整数。
基本语法
int(x=0)
int(x, base=10)
x:要转换的值(可选,默认为 0)base:进制基数(仅当x是字符串时有效,默认为 10)
常见用法示例
1. 转换浮点数为整数(截断小数部分)
>>> int(3.14)
>>> int(-2.9)
-2
注意:int() 不是四舍五入,而是直接截断小数部分。
2. 转换字符串为整数
>>> int("42")
>>> int("-100")
-100
字符串必须表示有效的整数,否则会抛出 ValueError。
3. 指定进制转换(二进制、八进制、十六进制等)
>>> int("1010", 2) # 二进制
>>> int("77", 8) # 八进制
>>> int("FF", 16) # 十六进制
此时字符串不能带前缀(如 0x),除非你手动处理。
注意事项与常见错误
⚠️ 错误示例:
>>> int("3.14")
ValueError: invalid literal for int() with base 10: '3.14'
>>> int("hello")
ValueError: invalid literal for int() with base 10: 'hello'
字符串必须是整数形式,不能包含小数点或非数字字符(除了开头的 + 或 -)。
实用技巧
你可以结合 try...except 安全地进行转换:
def safe_int(s):
try:
return int(s)
except ValueError:
return None
print(safe_int("123")) # 123
print(safe_int("abc")) # None