我正在使用的第三方库中有一个类
def funcA(base):
class ClassA(base):
def __init__(self, obj):
....
我有一个ClassAa
的实例
type(a)
# prints <class 'path.to.module.funcA.<locals>.ClassA'>
如何检查变量是否是ClassA的实例? 我不知道如何引用ClassA,因为它在一个函数下
import module
isinstance(a, module.funcA.ClassA?) <--- how to reference ClassA?
如果您无法更改
funcA
本身,因为它不在您自己的代码中,那么测试实例的一个好方法就是给它一个超类,然后测试该超类。将funcA
替换为包装版本,该版本使用扩展base
和您自己的ClassABase
的类调用原始funcA
:现在由
funcA
创建的ClassA
的所有实例也将是您自己的ClassABase
的实例,因此您可以测试isinstance(obj, ClassABase)
相关问题 更多 >
编程相关推荐