在编程时,你经常需要在数据类型之间切换。

在处理信息时,将一种数据类型转换为另一种数据类型的能力为你提供了极大的灵活性。

在 Python 编程语言中有不同的内置方法来转换或强制转换类型。

在本文中,你将学习如何将字符串转换为整数。

让我们开始吧!

Python 中的数据类型

Python 支持多种数据类型。

数据类型用于指定、表示和分类在计算机程序中使用的不同类型的数据。

此外,不同类型的数据可以使用不同的操作——一种数据类型中可用的操作通常在另一种数据类型中不可用。

数据类型的一个例子是字符串。

字符串是用于传达文本信息的字符序列。

它们用单引号或双引号括起来,如下所示:

fave_phrase = "Hello world!"

#Hello world! 是一个字符串,被包含在双引号中

Int 是整数。它们用于表示数值数据,在处理整数时,你可以进行任何数学运算(例如加法、减法、乘法和除法)。

整数不包含在单引号或双引号中。

fave_number = 7

#7 是一个整数
#"7" 尽管它是一个数字,但不是一个整数,而是一个字符串。
#这是因为它"7" 外面有引号

数据类型转换

有时,当你存储数据时,或者当你以一种类型接收来自用户的输入时,你需要对该数据进行操作和执行不同类型的操作。

由于每种数据类型都是以不同的方式进行操作,这通常意味着你需要对其进行转换。

将一种数据类型转换为另一种数据类型也叫作类型转换。许多语言都提供了内置的转换运算符来做到这一点——将一种类型显式转换为另一种类型。

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

要在 Python 中将字符串转换或强制转换为整数,请使用 int() 内置函数。

该函数接受你要转换的初始字符串作为参数,并返回与你传递的值等效的整数。

一般语法看起来像这样:int("str")

让我们看下面的例子,其中有一个数字的字符串版本:

#数字 7 的字符串版本
print("7")

#使用 type() 方法检查数据类型
print(type("7"))


#输出
#7
#<class 'str'>

要将数字的字符串版本转换为等效的整数,请使用 int() 函数,如下所示:

#将字符串转换为整数类型
print(int("7"))

#使用 type() 方法检查数据类型
print(type(int("7")))

#输出

#7
#<class 'int'>

将字符串转换为整数的实际示例

假设你要计算用户的年龄,你可以通过接收他们的输入来做到这一点。该输入将始终采用字符串格式。

因此,即使他们输入一个数字,该数字也将属于 <class 'str'>

如果你想对该输入执行数学运算,例如从另一个数字中减去该输入,你将收到错误消息,因为你无法对字符串执行数学运算。

查看下面的示例以了解其实际效果:

current_year = 2021

#要求用户输入他们的出生年份
user_birth_year_input = input("What year were you born? ")

#从用户填写的年份中减去当前年份
user_age = current_year - user_birth_year_input

print(user_age)

#输出

#What year were you born? 1993
#Traceback (most recent call last):
#  File "demo.py", line 9, in <module>
#    user_age = current_year - user_birth_year_input
#TypeError: unsupported operand type(s) for -: 'int' and 'str'

错误提到不能在整数和字符串之间执行减法。

你可以使用 type() 方法检查输入的数据类型:

current_year = 2021

#要求用户输入他们的出生年份
user_birth_year_input = input("What year were you born? ")

print(type(user_birth_year_input))

#输出

#What year were you born? 1993
#<class 'str'>

解决此问题并避免错误的方法是将用户的输入转换为整数,并将其存储在新变量中:

current_year = 2021

#要求用户输入他们的出生年份
user_birth_year_input = input("What year were you born? ")

#使用 int() 函数将用户的输入转换为整数,并存储在新变量中
user_birth_year = int(user_birth_year_input)

#从转换后的用户输入中减去当前年份
user_age = current_year - user_birth_year

print(user_age)

#输出

#What year were you born? 1993
#28

总结

至此,你已经知道了如何在 Python 中将字符串转换为整数了!

如果你想了解有关 Python 编程语言的更多信息,freeCodeCamp 有 Python 认证课程可以帮助你入门。

你将从基础开始,然后逐步学习更高级的主题,如数据结构和关系数据库。最后,你将通过构建五个项目来练习所学的内容。

感谢你阅读本文,happy coding!

原文:Python Convert String to Int – How to Cast a String in Python,作者:Dionysia Lemonaki