用示例解释 Python 中的类型转换和类型转换

已发表: 2020-02-19

Python 有很多数据类型,作为程序员,你应该知道如何将 Python 的一种数据类型转换为另一种数据类型。 Python 有许多用于此任务的内置函数。 在这个简单的指南中,我们将看看它们以帮助您更好地理解类型转换。

完成本指南后,您将知道如何将字符串转换为整数,反之亦然。 所以事不宜迟,让我们开始吧。

目录

Python 中的数据类型

在开始讨论 Python 中的类型转换之前,让我们简要了解一下该语言中存在的所有数据类型:

整数

整数值可以任意长。 与数学一样,Python 中的整数也是数字。 但是除非你有一台超级计算机,否则你不能拥有无限长的整数。 Python 将任何没有前缀的数字视为整数。 这些数字也包括十进制数字。

浮点数字

Python 中的浮点数是用小数点书写的数字,用于分隔小数位数和整数。 浮点数的一些示例是 4.3、9.18 等。您也可以在 Python 中为科学记数法添加“e”。

复数

Python 中的复数遵循以下格式:(实部 + 虚部)。 复数的一些示例是 (3+2i)、(8-2x) 等。

字符串

字符串可以是 Python 中的任何特定字符集。 它们被称为str。 您可以使用引号来编写它们。 您可以使用单引号和双引号在 Python 中编写字符串。 字符串可以是任何放在引号中的字符,例如“91”、“hello”等。

就像整数一样,字符串中的字符长度没有限制。 字符串有多种类型,例如三引号字符串、原始字符串等等。 但是,如果我们要开始讨论字符串及其种类,这篇文章就太长了。

布尔数据类型

我们要讨论的最后一个数据类型是布尔数据类型。 布尔数据可以具有两个值之一,即真和假。 出于多种原因,布尔值在 Python 中非常重要。 您可以使用布尔值来确定对象和值的真实性。

阅读:2020 年印度 Python 开发人员薪水

随着您将了解更多关于 Python 中的逻辑运算符,您将不得不处理布尔对象和值。

所以这些都是 Python 中存在的所有数据类型。 详细了解 Python 中的数据类型。 除了这些数据类型,Python 还有许多内置函数,可以帮助它执行各种任务。 我们还需要使用一些内置函数来实现类型转换。 查看我们的数据科学计划,了解各种类型的转换。

现在我们已经讨论了数据类型,我们可以继续进行类型转换。

Python 中不同类型的类型转换

Python中有两种类型转换。 它们是:

隐式

在这种情况下,Python 会自动将一种数据类型转换为另一种类型。 作为用户,您不必参与此过程。 这是在 Python 中将整数隐式转换为浮点数的示例:

num_int = 18

num_flo = 1.8

num_new = num_int + num_flo

print("num_int 的数据类型:",type(num_int))

print("num_flo 的数据类型:",type(num_flo))

print("num_new 的值:",num_new)

print("num_new 的数据类型:",type(num_new))

上述代码的输出如下:

num_int 的数据类型:<class 'int'>

num_flo 的数据类型:<class 'float'>

num_new 的值:19.8

num_new 的数据类型:<class 'float'>

如您所见,我们只需添加 num_flo 和 num_int 以及 num_new 即可获得所需的输出。 我们通过几行代码将整数 18 转换为浮点数 19.8。 这里要注意的重要一点是 Python 自动将整数转换为浮点数。

显式

在显式类型转换的情况下,我们使用函数进行转换。 还记得我们之前提到的内置函数吗? 它们将在本节中派上用场。 显式类型转换的另一个名称是类型转换。 它之所以具有此名称,是因为您(用户)转换了相关对象的数据类型。

在 Python 中执行类型转换时,您应该熟悉一些类型转换函数。 Int(a,base) 是一个流行的函数,因为它可以将任何数据类型转换为整数。 float() 可以将任何数据类型转换为浮点数。 oct() 将整数转换为八进制字符串,而 hex() 将整数转换为十六进制字符串。

下面是使用 oct() 进行类型转换的示例:

c = 八月(80)

打印(“输出:”,结束=“”)

打印 (c)

输出将是:

输出:0o120

使用这些函数时,请记住此类转换的语法应为:

(desired_datatype)(表达式)

您可以在 Python 中执行多种类型转换。 但是,它们有两种,您将执行得最多。 将字符串转换为整数,反之亦然,这是一个很好的起点。 因此,让我们分别讨论这些类型转换,以便更好地理解这个主题:

阅读: Python 开发者项目的想法和主题

将字符串转换为 int Python

您可以通过 int() 函数将字符串转换为 int Python。 只需单击一下即可为您提供十进制整数。 它假定您输入的表达式是十进制整数,但如果不是,它将返回 ValueError。 我们不希望这样。 您可以通过给值一个基数来提及您需要的数字系统以避免此问题。

因此,如果您在 Python 中将字符串转换为 int,您可以这样做:

整数(“5”)

或者,您可以为不同类型的字符串添加基础:

整数(“5”,基数=10)

现在让我们讨论这种转换的逆过程,即当您需要将整数转换为字符串时。

将 int 转换为字符串 Python

您可以使用 str() 函数将整数转换为字符串。 只需遵循我们之前提到的语法:

字符串(5)

如果使用二进制文字,字符串可以将整数转换为十进制表达式。 但是,就像使用 int 函数一样,如果需要,您可以为不同的转换添加更多信息。 使用此函数,您可以获得八进制、二进制甚至十六进制的结果。

经过一些练习,您也可以使用类型转换执行更复杂的任务。 这是通过类型转换添加带有整数的字符串的示例:

num_int = 256

num_str = “64”

print("num_int 的数据类型:",type(num_int))

print("类型转换前 num_str 的数据类型:",type(num_str))

num_str = int(num_str)

print(“类型转换后num_str的数据类型:”,type(num_str))

num_sum = num_int + num_str

print("num_int 和 num_str 之和:",num_sum)

print("求和的数据类型:",type(num_sum))

上面代码的输出是这样的:

num_int 的数据类型:<class 'int'>

类型转换前 num_str 的数据类型:<class 'str'>

类型转换后 num_str 的数据类型:<class 'int'>

num_int 和 num_str 之和:320

和的数据类型:<class 'int'>

如您所见,这很有趣。 随意尝试类型转换并扩展您的知识库。

结论

我们希望您从这篇文章中学到了很多。 执行类型转换是你可以用 Python 的函数做的许多事情之一。

如果你正在阅读这篇文章,你很可能有成为一名 Python 开发者的雄心壮志。 如果您有兴趣学习 python 并想亲身体验各种工具和库,请查看 IIIT-B 的数据科学 PG 文凭。

在编码中,显式转换与隐式转换有何不同?

隐式类型转换是由用户定义的类型转换,它强制表达式为特定类型。 当多个数据类型在一个表达式中组合在一起时,编译器会执行隐式类型转换。 显式转换,也称为强制转换,是指我们通过为我们希望转换到的数据类型执行适当的函数来显式地从一种数据类型转换为另一种数据类型。 无需程序员的帮助,就可以完成隐式类型转换。

类型转换与类型转换有何不同?

将一种数据类型转换为另一种数据类型时,目标数据类型必须小于源数据类型。 但是,在将一种数据类型转换为另一种数据类型时,源数据需要小于目标数据类型。 程序员必须手动将一种数据类型转换为另一种类型。 将一种数据类型转换为另一种数据类型不需要任何程序员干预,因为编译器会在程序执行期间自动编译它。 在类型转换期间有可能会丢失数据或信息。 将小数据类型转换为大数据类型时,数据不太可能丢失。

在 Python 元组或列表中哪个更有效?

元组是一个逗号分隔的 Python 对象集合,由于它的静态特性,元组比列表更快。 元组在内存方面也比列表更有效。 在时间效率方面,元组比列表具有较小的优势,尤其是在查找值时。 如果您有不应该首先更改的数据,则应该首选元组数据类型而不是列表。 我们可以制作一个元组列表,这意味着元组的成员可以包装在一个列表中,因此遵循与 Python 列表相同的特征。 因为 Python 元组占用的空间更少,所以构造一个元组列表更实用。