Python isinstance()

isinstance() 函数检查对象(第一个参数)是否是 classinfo 类(第二个参数)的一个实例或子类。

示例

numbers = [1, 2, 3, 4, 2, 5]

# check if numbers is instance of list result = isinstance(numbers, list)
print(result) # Output: True

isinstance() 语法

isinstance() 的语法是

isinstance(object, classinfo)

isinstance() 参数

isinstance() 接受两个参数

  • object - 要检查的 对象
  • classinfo - 、类型或 元组 形式的类和类型

isinstance 返回值

isinstance() 返回

  • 如果 对象 是类或元组中任何元素的实例或子类,则返回 True
  • 否则返回 False

如果 classinfo 不是类型或类型元组,则会引发 TypeError 异常。


示例 1:isinstance() 如何工作?

class Foo:
  a = 5
  
fooInstance = Foo()

print(isinstance(fooInstance, Foo))
print(isinstance(fooInstance, (list, tuple))) print(isinstance(fooInstance, (list, tuple, Foo)))

输出

True
False
True

示例 2:isinstance() 与原生类型的使用

numbers = [1, 2, 3]

result = isinstance(numbers, list)
print(numbers,'instance of list?', result) result = isinstance(numbers, dict) print(numbers,'instance of dict?', result) result = isinstance(numbers, (dict, list)) print(numbers,'instance of dict or list?', result) number = 5
result = isinstance(number, list)
print(number,'instance of list?', result) result = isinstance(number, int) print(number,'instance of int?', result)

输出

[1, 2, 3] instance of list? True
[1, 2, 3] instance of dict? False
[1, 2, 3] instance of dict or list? True
5 instance of list? False
5 instance of int? True

另请阅读

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战