在 Python 中如何将字符串转换为整数

 

类似于内置的 str() 方法,Python 语言中有一个很好用的 int() 方法,可以将字符串对象作为参数,并返回一个整数。

用法示例

# Here age is a string object
age = "18"
print(age)

# Converting a string to an integer
int_age = int(age)
print(int_age)

输出

18
18

尽管输出结果看起来相似,但是,请注意第一行是字符串对象,而后一行是整数对象。在下一个示例中将进一步说明这一点:

age = "18"
print(age + 2)

输出

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: cannot concatenate 'str' and 'int' objects

通过这个报错,你应该明白,你需要先将 age 对象转换为整数,然后再向其中添加内容。

age = "18"
age_int = int(age)
print(age_int + 2)

输出

20

但是,请记住以下特殊情况:

  • 浮点数(带小数部分的整数)作为参数,将返回该浮点数四舍五入后最接近的整数。例如:print(int(7.9)) 的打印结果是 7。另一方面,print(int("7.9")) 将报错,因为不能将作为字符串对象的浮点数转换为整数。
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '7.9'
  • 单词作为参数时,将返回相同的错误。例如,print(int("one")) 将返回:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'one'
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐