13
我有一個接受類(不是實例)的函數,並且根據它是否是特定類或該的子類,我需要通過它涉及其他兩個(第三方)工廠功能之一。如何判斷一個類是否來自另一個類
(爲了防止任何異議,我知道這不是很Python的,但是我依賴於第三方庫接受的東西。)
issubclass
僅適用於實例,而不是類對象本身。我想我可以實例化這個類,做issubclass
並拋棄實例,但這看起來有點浪費。
以下是我目前正在做的事情,依靠內置的mro屬性來判斷某個類是否在我班的祖先列表中。這是否安全,是否有更好的方法?
if GenericClass in myclass.__mro__:
result = generic_factory(myclass)
else:
result = other_factory(myclass)
AARGH,我是用isinstance混淆了。謝謝。 – 2009-05-19 09:09:12