欢迎访问宙启技术站
智能推送

了解Python的isinstance()函数,如何检查一个对象是否属于特定的类别

发布时间:2023-06-29 15:11:50

isinstance() 是 Python 内置的一个函数,用于检查一个对象是否属于特定的类别。在 Python 中,一切皆为对象,包括数字、字符串、列表、元组、字典等。

isinstance() 函数的语法如下:

isinstance(object, classinfo)

其中,object 表示要检查的对象,classinfo 表示指定的类或类的元组。函数返回值为布尔值,如果 object 是 classinfo 类的实例或者是 classinfo 类的子类的实例,则返回 True,否则返回 False。

下面我们通过几个示例来详细讲解如何使用 isinstance() 函数检查一个对象是否属于特定的类别。

1. 检查数字类型

num = 10
print(isinstance(num, int))  # True

num = 3.14
print(isinstance(num, float))  # True

在上述示例中,我们分别检查了一个整数和一个浮点数是否属于 int 类型和 float 类型,结果分别返回 True。

2. 检查字符串类型

string = "Hello, World!"
print(isinstance(string, str))  # True

在上述示例中,我们检查了一个字符串是否属于 str 类型,结果返回 True。

3. 检查列表类型

my_list = [1, 2, 3]
print(isinstance(my_list, list))  # True

在上述示例中,我们检查了一个列表是否属于 list 类型,结果返回 True。

4. 检查自定义类类型

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

person = Person("John", 25)
print(isinstance(person, Person))  # True

在上述示例中,我们定义了一个 Person 类,并创建了一个 person 对象。然后使用 isinstance() 函数检查 person 对象是否属于 Person 类型,结果返回 True。

5. 检查多个类类型

num = 10
print(isinstance(num, (int, float)))  # True

my_dict = {"name": "John", "age": 25}
print(isinstance(my_dict, (list, dict)))  # True

在上述示例中,我们使用 isinstance() 函数同时检查了一个数字是否属于 int 或 float 类型,以及一个字典是否属于 list 或 dict 类型。结果分别返回 True。

通过上述示例,我们可以看出使用 isinstance() 函数可以方便地检查一个对象是否属于特定的类别,对于类型判断非常有用。同时,可以与条件语句结合使用来进行相应的处理。