1
我需要從派生只能從特定TargetClass模塊得到班:獲取從特定的類派生的類模塊
import mymodule as t
for att in dir(t):
someclass = getattr(t, att)
if isinstance(someclass, TargetClass):
print ("Do something with %s" % att)
嗯...這是不行的,所以我需要創建實例,和捕獲異常,如果模塊的屬性是不可呼叫:
import mymodule as t
for att in dir(t):
someclass = getattr(t, att)
try:
if isinstance(someclass(), TargetClass):
print ("Do something with %s" % att)
except:
pass
所以,我怎麼只能從MyModule的那些類,也就是一些TargetClass的子類,無需創建實例和捕獲異常?
有反正需要捕捉異常:因爲它可以提高類似:「issubclass()ARG 1必須是一個類」 :) – RaSergiy
@RaSergiy我覺得我佔了該發佈答案後不久編輯。或者我錯過了什麼?也許你打算評論其他答案:) –
isinstance(someclass,type)不起作用,必須有實例:isinstance(someclass(),type)...所以對象被創建... – RaSergiy