Python中的类型转换

2025年5月9日 | 阅读 6 分钟

在 Python 中,类型转换(也称为类型转换)是一种将变量的数据类型转换为另一种数据类型以执行某些操作的方法。Python 是一种动态类型语言,不允许我们手动声明变量的类型。Python 在运行时自动确定变量的类型。

让我们看一个下面的例子

示例

立即执行

输出

15.6 => <class 'float'>

说明

在这里,Python 已自动确定了结果变量的数据类型。

然而,Python 还提供了各种内置函数,例如 int()、float() 和 str(),以便在需要时显式执行这些类型转换。

Python 中的类型转换分为两种类型:

  • 隐式类型转换 - Python 解释器在没有用户干预的情况下自动将一种数据类型转换为另一种数据类型。
  • 显式类型转换 - 用户通过使用内置功能手动将变量的数据类型转换为另一种。
Type Casting in Python

Python 中的隐式类型转换

隐式类型转换,或类型强制转换,是指 Python 在运行时自动将一种数据类型更改为另一种数据类型,而无需程序员的输入。

Python 遵循数据类型层次结构来确保安全的隐式转换。层次结构如下:

Type Casting in Python
  • 整数可以转换为浮点数复数。但是,复数不能被隐式转换回来。
  • Python 避免隐式地降级类型(例如,从浮点数到整数),因为这可能导致精度损失。

让我们来看一个 Python 中隐式类型转换的示例如下。

示例

立即执行

输出

12.6 => <class 'float'>
(15.6+4j) => <class 'complex'>

说明

在上面的示例中,我们初始化了几个不同类型的变量。但是,Python 在运行时自动更改了它们的数据类型,以便可以正确执行操作。

Python 中的显式类型转换

显式类型转换,也称为类型转换,是指程序员通过调用 Python 的内置函数(如 int()、float()、str() 等)手动更改变量或值的类型。

Type Casting in Python

Python 提供了几个内置函数来执行显式类型转换:

函数描述
int()此函数将指定的变量或值转换为整数(如果 x 是浮点数,则截断小数)。
float()此函数用于将指定的变量或值转换为浮点数。
complex()此函数将指定的变量或值转换为复数。
str()此函数用于将指定的变量或值转换为字符串。
bool()此函数将给定的变量或值转换为布尔值(True 或 False)。
list()此函数用于将给定的可迭代对象(如字符串、元组、集合)转换为列表。
tuple()此函数将给定的可迭代对象(列表、字符串等)转换为元组。
set()此函数用于将给定的可迭代对象(列表、元组等)转换为集合。
dict()此函数用于将给定的键值对序列转换为字典。

让我们通过示例讨论其中一些函数。

整数转换(int())

int() 函数用于将变量或值转换为整数。如果给定的变量是浮点数,此函数将截断小数部分。

让我们看下面的示例:

示例

立即执行

输出

16 -> <class 'int'>
14 -> <class 'int'>

说明

在这里,我们使用 int() 函数将给定的数据类型转换为 int 数据类型。

浮点数转换(float())

float() 函数用于将变量或值转换为浮点数。

以下示例显示了 Python float() 函数的工作原理。

示例

立即执行

输出

19.0 -> <class 'float'>
21.73 -> <class 'float'>

说明

在这里,我们使用 float() 函数将给定的数据类型转换为 float 数据类型。

复数转换(complex())

complex() 函数用于将变量或值转换为复数。通常,它将指定的整数或浮点数 x 转换为 x + 0j。

此外,我们可以将 x 和 y 指定为实部和虚部作为此函数的参数,以返回复数 x + yj。

让我们通过下面的示例了解 complex() 函数的工作原理。

示例

立即执行

输出

(5+0j) -> <class 'complex'>
(8.9+0j) -> <class 'complex'>

说明

在这里,我们使用 complex() 函数将给定的数据类型转换为 complex 数据类型。

字符串转换(str())

str() 函数用于将变量或值转换为字符串。

让我们看下面的示例,展示 str() 函数的用法。

示例

立即执行

输出

5 -> <class 'str'>
8.9 -> <class 'str'>
(5+9j) -> <class 'str'>
True -> <class 'str'>

说明

在这里,我们使用 str() 函数将给定的数据类型转换为字符串数据类型。

布尔值转换(bool())

bool() 是 Python 中的内置函数,它允许我们将指定的变量或值转换为布尔值(True 或 False)。

让我们看下面的示例:

示例

立即执行

输出

False -> <class 'bool'>
False -> <class 'bool'>
True -> <class 'bool'>
True -> <class 'bool'>
False -> <class 'bool'>
True -> <class 'bool'>

Python 类型转换选择题

1. 下列哪个是 Python 中的显式类型转换函数?

  1. int()
  2. float()
  3. str()
  4. 以上全部。
 

答案: d) 以上所有


2. 以下代码的输出是什么?

  1. "17.3"
  2. 17.3
  3. 17
  4. Error
 

答案: b) 17.3


3. 以下代码的输出是什么?

  1. 0
  2. 1
  3. False
  4. Error
 

答案: a) 0


4. 下列代码的输出是什么?

  1. "Apple"
  2. ['Apple']
  3. ['A', 'p', 'p', 'l', 'e']
  4. Error
 

答案: c) ['A', 'p', 'p', 'l', 'e']


5. 下列代码的输出是什么?

  1. {'2', '4', '7'}
  2. {2, 7, 4}
  3. {'224447777'}
  4. {'2', '2', '4', '4', '4', '7', '7', '7', '7'}
 

答案: a) {'2', '4', '7'}


下一主题Python 字符串