什么是 int() 函数?
int() 是 Python 的一个内置函数,用于将一个数字或字符串转换为整数(int 类型)。
它也可以指定进制(base),用于将字符串形式的其他进制数转换为十进制整数。
基本语法
int(x=0)
int(x, base=10)
x:要转换的数字或字符串。base:可选参数,表示字符串x的进制,默认为 10(十进制)。
常见用法示例
1. 将浮点数转为整数(截断小数部分)
>>> int(3.14)
>>> int(-2.9)
-2
注意:int() 不是四舍五入,而是直接截断小数部分。
2. 将字符串转为整数
>>> int("42")
>>> int("-100")
-100
字符串必须表示有效的整数,否则会抛出 ValueError。
3. 指定进制转换(如二进制、十六进制)
>>> int("1010", 2) # 二进制转十进制
>>> int("FF", 16) # 十六进制转十进制
>>> int("77", 8) # 八进制转十进制
当指定 base 时,字符串不能带前缀(如 0x、0b),除非你手动处理。
注意事项与常见错误
错误示例:
>>> int("3.14") # 字符串含小数点 → 报错!
ValueError: invalid literal for int() with base 10: '3.14'
>>> int("hello") # 非数字字符串 → 报错!
ValueError: invalid literal for int() with base 10: 'hello'
解决方法:先用 float() 转换再用 int(),或确保输入合法。
实用技巧
结合 input() 获取用户输入并转为整数:
try:
age = int(input("请输入您的年龄:"))
print(f"您明年 {age + 1} 岁。")
except ValueError:
print("请输入一个有效的整数!")