Python isinstance() 函数用于判断对象是不是某类型(或其子类型)。比 type() 更推荐用于类型判断。
语法
isinstance(obj, type)
isinstance(obj, (type1, type2, ...))参数
obj:要判断的对象。第二个参数 classinfo:类型,或类型组成的元组。
返回值
返回布尔值 bool:obj 是 classinfo(或其子类)的实例为 True,支持元组匹配任一类型。
示例
print(isinstance(10, int)) # True
print(isinstance("hi", str)) # True
print(isinstance(3.14, (int, float))) # True,属于元组里任一类型
print(isinstance([], list)) # True
print(isinstance("hi", int)) # False
def describe(x):
if isinstance(x, int):
return "整数"
elif isinstance(x, str):
return "字符串"
return "其他"
print(describe(5), describe("a"), describe(1.5))输出:
True
True
True
True
False
整数 字符串 其他注意事项
isinstance 支持继承(子类实例对父类返回 True);type() 是精确匹配。判断类型优先用 isinstance。