数据类型与转换

PythonPythonBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在之前的实验中,我们学习了 Python 的基础知识。在本实验中,我们将学习 Python 的基本数据类型以及如何在它们之间进行转换。

学习目标

  • 数据类型
  • type() 函数
  • 类型转换

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python/BasicConceptsGroup -.-> python/variables_data_types("Variables and Data Types") python/BasicConceptsGroup -.-> python/numeric_types("Numeric Types") python/BasicConceptsGroup -.-> python/strings("Strings") python/BasicConceptsGroup -.-> python/booleans("Booleans") python/BasicConceptsGroup -.-> python/type_conversion("Type Conversion") subgraph Lab Skills python/variables_data_types -.-> lab-290726{{"数据类型与转换"}} python/numeric_types -.-> lab-290726{{"数据类型与转换"}} python/strings -.-> lab-290726{{"数据类型与转换"}} python/booleans -.-> lab-290726{{"数据类型与转换"}} python/type_conversion -.-> lab-290726{{"数据类型与转换"}} end

数据类型

数据类型是编程语言的基础构建块,Python 提供了几种基本类型。让我们通过 Python 解释器来探索它们。

在终端中输入 python3 打开 Python 解释器。

Python 解释器终端窗口

Python 的主要数据类型包括整数(integers)、浮点数(floats)、布尔值(Booleans)和字符串(strings)。type() 函数可以帮助识别值的类型,它会输出我们传递给它的值的类型。

字符串

字符串是用双引号或单引号括起来的字符序列:

>>> print("Hello World")
Hello World
>>> print('Hello World')
Hello World
>>> type("Hello World")
<class 'str'>               ## 表示这是一个字符串

数字

Python 中的数字可以是整数或浮点数。整数是完整的数字,浮点数是带有小数点的数字。例如,42 是一个整数,而 3.14 是一个浮点数。

>>> print(42)
42
>>> print(3.14)
3.14
>>> type(42)
<class 'int'>              ## 表示这是一个整数
>>> type(3.14)
<class 'float'>            ## 表示这是一个浮点数

布尔值

布尔值是一个可以是 TrueFalse 的值。它通常用于表示比较的结果。例如,1 < 2True,而 1 > 2False

>>> print(1 < 2)
True
>>> print(1 > 2)
False
>>> type(True)
<class 'bool'>            ## 表示这是一个布尔值

理解 Python 的数据类型对于处理各种值并根据其特性执行操作至关重要。

类型转换

在 Python 中,类型转换涉及更改变量的数据类型。这对于特定数据类型的操作或确保变量具有特定类型非常有用。

显式类型转换

显式类型转换(或类型强制转换)通过内置函数实现:

  • int(x):将 x 转换为整数。
  • float(x):将 x 转换为浮点数。
  • str(x):将 x 转换为字符串。
  • bool(x):将 x 转换为布尔值。
>>> x = 10.5
>>> int_x = int(x)      ## 显式转换为整数
>>> str_x = str(x)      ## 显式转换为字符串
>>> bool_x = bool(x)    ## 显式转换为布尔值

>>> print(int_x)
10
>>> print(str_x)
10.5
>>> print(bool_x)
True

在这里,浮点数 x 通过相应的转换函数被显式转换为整数、字符串和布尔值。

隐式类型转换

隐式类型转换(或类型强制)在 Python 遇到表达式中不同类型的操作数时自动发生。它会在执行操作之前尝试将它们转换为一个共同的类型。

>>> x = 10           ## 整数
>>> y = 3.14         ## 浮点数
>>> result = x + y   ## x 被隐式转换为浮点数
>>> print(result)
13.14

在这里,整数 x 在加法操作之前被隐式转换为浮点数。

类型转换错误

并非所有转换都是有效的。尝试转换不兼容的类型可能会导致错误:

>>> x = input()
i
>>> type(x)
<class 'str'>           ## 默认情况下,`input()` 将所有输入视为字符串。
>>> int_x = int(x)      ## 错误:无法将字符串转换为整数

数据丢失是一个需要考虑的问题;在类型之间转换可能会导致精度或信息丢失:

>>> x = 3.14
>>> int_x = int(x)      ## 数据丢失:小数部分被丢弃
>>> print(int_x)
3

总结

恭喜!你已经完成了本次实验。

在本实验中,你学习了:

  • Python 中的基本数据类型。
  • type() 函数。
  • 类型转换。