我想检查变量是否是SwigObject类型。我正在尝试使用isinstance
内置但不知道需要传递什么(即isinstance(obj, ???)
)。
谢谢!
答案 0 :(得分:0)
你只是要求这个吗?
>>> a = list()
>>> isinstance(a, int)
False
>>> isinstance(a, list)
True
正如您所看到的,isinstance
的第一个参数是您的对象实例化,第二个 - 在您的情况下 - 可能看起来像swig.SwigObject
(您需要为该类提供正确的“路径” ,包括其模块)。
编辑:在下面的评论的推动下,我进行了额外的转储以测试并澄清您的课程应该如何:
>>> import numpy as np #notice that the module's name change here...
>>> a = np.array(())
>>> type(a)
<type 'numpy.ndarray'> #...type still returns the full name of the module...
>>> isinstance(a, numpy.ndarray) #...but if you try to use the full name here...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'numpy' is not defined
>>> isinstance(a, np.ndarray) #...instead you must use the name known in your namespace
True