📅  最后修改于: 2023-12-03 15:34:01.796000             🧑  作者: Mango
Python 中的 isinstance()
方法是用来检查一个对象是否是一个指定的类的实例,或者是其子类的实例。
isinstance(object, classinfo)
其中,
object
:要检查的对象。classinfo
:可以是直接或间接类名、基本类型或者由它们组成的元组。如果对象是指定类或其子类的实例,则返回 True
,否则返回 False
。
class A:
pass
class B(A):
pass
b = B()
print(isinstance(b, B)) # True
print(isinstance(b, A)) # True
print(isinstance(b, object)) # True
print(isinstance("hello", (float, int, str))) # True
在这个示例中,我们定义了两个类 A
和 B
,其中 B
是 A
的子类。我们创建了一个 B
类的实例 b
。然后分别用 isinstance()
方法检查 b
是否是其本身、是 A
类的实例、以及是 object
类的实例,都返回了 True
。
接着我们用 isinstance()
方法检查字符串 "hello"
是否是 float、int 或 str 中的一种,返回 True
,因为 "hello"
确实是 str 类型。
Python 中的 isinstance()
方法非常有用,可以很方便地检查对象的类型,通常在写函数时需要进行参数类型的检查或者输入输出类型的判断时使用。