我想檢查一個變量是否是SwigObject類型。我試圖使用isinstance
內置,但不知道需要通過什麼(即isinstance(obj, ???)
)。如何檢查變量是否是SwigObject類型
謝謝!
我想檢查一個變量是否是SwigObject類型。我試圖使用isinstance
內置,但不知道需要通過什麼(即isinstance(obj, ???)
)。如何檢查變量是否是SwigObject類型
謝謝!
你只是問這個嗎?
>>> 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
是不是取決於他的進口說明,看它的樣子? – GoingTharn
@GoingTharn - 是的,這就是爲什麼我使用「可能」一詞,但我不確定。讓我編輯一下......: – mac
@GoingTharn - 完成了,謝謝你在檢查中額外的動機! ;) – mac
你只需要知道,如果它是一個特定的實例類,還是如果它具有它作爲祖先之一? – mac