我有A
類,它應該繼承B
類,其名稱在編寫A
時還不知道。是否有可能聲明A
不繼承任何東西,並且在A
的實例化過程中將B
作爲基類添加?例如:在Python中動態設置繼承
第一個文件
class B:
def __init__(self):
self.__name = "Class B"
def name(self):
return self.__name
第二個文件
class A:
def __init__(self):
self.__name = "Class A"
# At some point here, the appropriate module name and location is discovered
import sys
sys.path.append(CustomModulePath)
B = __import__(CustomModuleName)
magic(A, B) # TODO What should magic() do?
a = A()
print a.name() # This will now print "Class A", since name() is defined in B.
你能解釋爲什麼你需要這樣做嗎? – danben 2010-06-22 14:48:57
在這個應用程序中,我需要根據應用程序特定的元數據來操作類,而不是使用常規的類名。 – dpq 2010-06-22 15:03:39