为什么需要字符串转整数?
在Python编程中,我们经常从用户输入、文件读取或网络请求中获取字符串数据。
如果这些字符串表示的是数字(如 "123"),而我们需要进行数学运算,
就必须将其转换为整数类型(int)。
基本方法:使用 int() 函数
最常用的方式是使用内置函数 int():
s = "42"
num = int(s)
print(num) # 输出: 42
print(type(num)) # <class 'int'>
处理异常:避免 ValueError
如果字符串不是有效的整数(如包含字母或为空),int() 会抛出 ValueError。
注意: 始终考虑输入的合法性,尤其是在处理用户输入时。
try:
num = int("abc")
except ValueError:
print("无法将该字符串转换为整数!")
进阶用法:指定进制
int() 支持第二个参数,用于指定字符串的进制(默认为10):
# 二进制
int("1010", 2) # → 10
# 十六进制
int("FF", 16) # → 255
# 八进制
int("17", 8) # → 15
实战小工具:在线转换演示
输入一个字符串,点击按钮查看转换结果:
常见错误与最佳实践
- ❌ 直接对非数字字符串调用
int()→ 使用try...except包裹 - ❌ 忽略前导/尾随空格 → 使用
.strip()清理 - ✅ 对于不确定的数据,先验证再转换
- ✅ 使用
str.isdigit()可初步判断(但不适用于负数)