了解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() 函数可以方便地检查一个对象是否属于特定的类别,对于类型判断非常有用。同时,可以与条件语句结合使用来进行相应的处理。
