如何在 Python 中检查数据类型?

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

您可以使用 Python 的内置 **type()** 方法来确定变量的类型。**type()** 函数将变量的 **数据类型** 作为字符串返回。

以下是使用 **type()** 函数的示例

输出

<class 'int'>

在此示例中,我们创建了一个变量 **x** 并为其赋值 **5**。之后,我们调用 **type()** 函数并将 x 作为其参数,它返回 **<class 'int'>**。这告诉我们 x 是一个整数。

以下是关于 **type()** 函数如何工作的更详细解释

当您调用 **type()** 并将变量作为其参数时,Python 会查看变量的值并确定其数据类型。Python 有多种内置数据类型,包括:

  • int: 整数(不带小数的数字)
  • float: 浮点数(带小数的数字)
  • bool: 布尔值(True 或 False)
  • str: 字符串(字符序列)
  • list: 列表(值的有序集合)
  • tuple: 元组(值的有序集合,类似于列表但不可变)
  • dict: 字典(键值对的无序集合)
  • set: 集合(唯一值的无序集合)

**type()** 函数返回一个表示变量数据类型的字符串。例如,如果您将一个 **整数** 变量传递给 **type()**,它将返回字符串 **<class 'int'>**。

以下是使用 **type()** 检查不同变量类型的示例

使用 isinstance() 函数

在 Python 中,您还可以使用 **isinstance()** 函数来检查变量是否为特定类型。**isinstance()** 函数接受两个参数:您要检查的变量,以及要检查的类型。如果变量属于指定类型,则返回 **True**,否则返回 **False**。

以下是使用 isinstance() 函数的示例

输出

True

在此示例中,我们创建了一个变量 x 并为其赋值 5。之后,我们调用 **isinstance()** 函数,将 x 作为第一个参数,将 int 类型作为第二个参数。该函数返回 True,表明 x 是一个整数。

您还可以使用 **type()** 和 **isinstance()** 函数来检查变量是否是特定类型的子类。子类继承了父类的特性和方法,是类的更专门化的版本。以下是一个示例

输出

<class '__main__.Dog'>
True

此示例定义了一个名为 **Animal** 的类,其构造函数接受一个 name 参数。之后,我们定义了一个名为 **Dog** 的子类,它继承自 **Animal** 并具有额外的 **bark()** 方法。我们创建了一个名为 **my_dog** 的 Dog 实例。

我们可以使用 **type()** 函数来检查 **my_dog** 是 **Dog** 类的实例,并使用 **isinstance()** 函数来检查 **my_dog** 也是 Animal 类的实例(因为 Dog 是 Animal 的子类)。