gpt4 book ai didi

Python 在不检查父类(super class)的情况下确定 isintance

转载 作者:行者123 更新时间:2023-12-03 23:17:42 25 4
gpt4 key购买 nike

class A:
pass

class B(A):
pass

我如何检查 varB 的实例,不是 A , 不引用 A .我有大约 50 个类,它们是某个类的子类。我想检查实例是否是一个 child 。
类似 not isinstance(var, A) .

有什么办法吗?

最佳答案

isinstance(object, classinfo)检查对象是否是作为第二个参数给出的类的实例(或子类)。
type(object)返回对象的确切类型。

因此可以检查对象是否是A的子类的实例。 ,但不是 A本身,您可以执行以下操作。

if isinstance(obj, A) and not type(obj) == A:
print("is subclass of A")
else:
print("is either A or completely unrelated")

以供引用:
  • https://docs.python.org/3/library/functions.html#isinstance
  • https://docs.python.org/3/library/functions.html#type
  • 关于Python 在不检查父类(super class)的情况下确定 isintance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46876976/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com