Python 中的类型转换

2024 年 8 月 29 日 | 阅读 6 分钟

引言

在本文中,我们将讨论 Python 中的类型转换。它将 Py 类型数据转换为另一种形式的数据。这是一种转换技术。隐式类型转换和显式类型转换是 Python 中类型转换的两个基本类别。

Python 具有类型转换例程,允许将一种数据类型直接转换为另一种数据类型。这对于竞争性编程和日常编程都非常有用。本文旨在向读者介绍具体的转换函数。

在 Python 中,有两种类型转换,它们是 -

  1. 显式类型转换 - 程序员必须手动执行此任务。
  2. 隐式类型转换 - 由 Python 程序自动完成。

隐式类型转换

当在编译或运行时发生数据类型转换时,Python 中会使用隐式字符数据转换。我们不需要手动将文件格式更改为其他数据类型,因为 Python 会执行隐式字符数据转换。在整个教程中,我们看到了许多此类数据类型转换的示例。在没有用户输入的情况下,编程语言会在隐式数据类型转换中自动将一种数据类型更改为另一种数据类型。

程序代码 1

这里我们举一个 Python 中隐式类型转换的例子。在下面的代码中,我们初始化一些值并查找它们在 Python 中的数据类型。所以,代码如下 -

输出

现在我们在 Python 中编译上述代码,并在成功编译后运行它。然后输出如下:

Data type of a: <class 'int'>
Data type of b: <class 'float'>
The value of c: 22.6
Data type of c: <class 'float'>
Data type of d: <class 'str'>

说明

正如我们所见,一个变量 a 仅为整数类型,另一个变量 b 为浮点数类型,而 "c" 的数据类型已自动转换为 "float" 类型。由于类型提升,它允许通过将原始数据转换为更宽类型的数据而不会丢失任何信息来执行操作,因此浮点值不会被转换为整数。这是 Python 隐式类型转换的一个简单实例。

结果变量被更改为 float 数据集而不是 int 数据类型,因为这样做需要编译器删除小数部分,这将导致数据丢失。Python 始终将较小的数据类型转换为较大的数据类型以防止数据丢失。

如果我们使用整数类型作为变量 percentage 的数据类型,我们可能会丢失报告的小数部分。Python 会自动将 percentage 数据转换为 float 类型,它可以存储小数,以防止此数据丢失。

程序代码 2

这里我们举另一个 Python 中隐式类型转换的例子。在下面的代码中,我们获取用户输入并查找它们在 Python 中的数据类型。所以,代码如下 -

输出

现在我们在 Python 中编译上述代码,并在成功编译后运行它。然后输出如下:

Priya
Data type of x: <class 'str'>
23
Data type of y: <class 'int'>
0.5
Data type of z: <class 'float'>

说明

在上面的代码中,我们获取用户输入并查找他们的数据类型。这里我们将 x 的值作为字符串,y 的值作为整数,z 的值作为浮点数。在获取用户输入后,他们会检查他们的数据类型并打印出来。

显式类型转换

假设我们想将一个数字从较高的数据类型转换为较低的数据类型。如前一节所述,在这种情况下,隐式类型转换无效。显式类型转换,通常称为类型转换,现在可以派上用场。通过使用内置的语言函数,如 str() 转换为字符串格式和 int() 转换为整数类型,程序员可以通过手动更改对象来显式地更改对象的 D 数据格式。

在 Python 的显式类型转换中,用户可以根据自己的需求显式地更改数据类型。由于在进行表达式类型转换时,我们必须将一个表达式更改为某种特定数据类型,因此存在数据丢失的可能性。以下是一些显式类型转换的示例。

  1. 函数 int(a, base) 将任何数据类型转换为整数。如果数据类型是字符串,"Base" 定义了字符串所在的基数。
  2. float(): 您可以使用此函数将任何数据类型转换为浮点数。

程序代码

这里我们举另一个 Python 中显式类型转换的例子。在下面的代码中,我们初始化值并查找它们在 Python 中的数据类型。所以,代码如下 -

输出

现在我们在 Python 中编译上述代码,并在成功编译后运行它。然后输出如下:

following the conversion to integer base 2: 18
After converting to float : 1010.0

c. ord() 方法将字符转换为整数。

d. hex() 方法将整数转换为十六进制字符串。

e. oct() 方法将整数转换为八进制字符串。

程序代码

这里我们举了一个获取给定值的整数、十六进制和八进制值的示例。代码如下 -

输出

现在我们在 Python 中编译上述代码,并在成功编译后运行它。然后输出如下:

After converting the character into integer : 52
After converting the 56 to hexadecimal string : 0x38
After converting the 56 into octal string : 0o70

f. tuple() 方法用于将数据转换为元组。

g. set() 函数将类型转换为集合,并返回该集合。

h. list() 函数将任何数据类型转换为列表类型。

程序代码

这里我们举了一个如何将给定的字符串转换为 list()、tuple() 和 set() 的示例。代码如下 -

输出

现在我们在 Python 中编译上述代码,并在成功编译后运行它。然后输出如下:

After converting the string to a tuple: ('j,' 'a', 'v,' 'a', 'T,' 'p,' 'o', 'i', 'n,' 't')
After converting the string to a set: {'n,' 'o', 'p,' 'j,' 'v,' 'T,' 'i', 'a', 't'}
After converting the string to the list: ['j,' 'a', 'v,' 'a', 'T,' 'p,' 'o', 'i', 'n,' 't']

说明

在上面的代码中,我们将给定的字符串 "javaTpoint" 转换为 tuple()、set() 和 list()。集合是无序的,因此元素在输出中不是按顺序排列的。