为什么需要 str 转 int?
在 Python 编程中,我们经常从用户输入、文件读取或网络请求中获取字符串数据。但很多计算操作要求使用数字类型(如 int)。因此,将字符串安全地转换为整数是基础而关键的技能。
基本方法:使用 int()
Python 提供了内置函数 int() 来完成这一任务:
s = "123"
n = int(s)
print(n) # 输出: 123
print(type(n)) # 输出: <class 'int'>
处理异常:避免 ValueError
如果字符串不能被解析为整数(如包含字母或为空),int() 会抛出 ValueError。推荐使用 try-except 结构来安全处理:
def safe_str_to_int(s):
try:
return int(s)
except ValueError:
return None # 或返回默认值、提示信息等
print(safe_str_to_int("456")) # 456
print(safe_str_to_int("abc")) # None
支持不同进制
int() 还支持指定进制(base):
print(int("1010", 2)) # 二进制 → 10
print(int("FF", 16)) # 十六进制 → 255
实战小工具:在线转换演示
输入一个字符串,点击按钮查看转换结果:
注意事项
- 空字符串
""会引发ValueError。 - 浮点字符串如
"3.14"不能直接用int()转换(需先转float)。 - 前后有空格的字符串(如
" 42 ")可被自动忽略,但建议先用.strip()清理。