Python isinstance() 函数用法

2023-09-17 22:28:12

isinstance() 方法检查对象是指定类的实例还是其任何子类的实例。

语法:

isinstance(object, classinfo)

参数:

  1. 对象:要检查的对象。
  2. classinfo:类名或类名元组。

返回值:

如果对象是指定类信息的实例,则返回 True,否则返回 False。

在下面的示例中,isinstance() 方法检查内置类实例。

mystr = 'Hello World'
num = 100
flt = 10.2
print(isinstance(mystr, str)) # True
print(isinstance(mystr, int)) # False
print(isinstance(num, int))  # True
print(isinstance(num, str))  # False
print(isinstance(flt, float)) # True
print(isinstance(flt, int))   # False

输出:

True
Flase
True
False
True
Flase

下面的示例检查用户定义类的实例。

class student:
    name = 'Elon'
std = student()
print(isinstance(std, student))
print(isinstance(std, (student, list, str))) # tuple with class names
print(isinstance(std, list))

输出:

True
True
False

在上面的例子中,isinstance(std, (student, list, str))指定了一个包含三个类的元组,studentlist 和 'str'。它返回 True,因为指定的实例是元组中的类之一。

下面显示了isinstance()方法与本机数据类型的工作。

cities = ['Mumbai','Chicago','New York']
print(isinstance(cities,list)) 
print(isinstance(cities,(tuple, set))) 
print(isinstance(cities,tuple)) 

输出:

True
False
False