我有一個永遠不會被實例化的基類。這個基類有不同的子類。每個子類都定義了某些類變量,其中名稱在所有子類中都是相同的,但值將會不同。例如python中每個子類中的類變量的不同值
class Base:
def display(self):
print self.logfile, self.loglevel
class d1(Base):
logfile = "d1.log"
loglevel = "debug"
def temp(self):
Base.display(self)
class d2(Base):
logfile = "d2.log"
loglevel = "info"
def temp(self):
Base.display(self)
什麼是設計這個,這樣我可以強制執行,如果明天的任何新的子類的定義,實現子類中的人應該提供一些值,這些類變量和不可錯過的定義的正確方法嗎?
+1元類使用 – 2012-01-17 10:31:08
我更喜歡@ SavinoSguera的解決方案,因爲它更簡單,代碼更少 - 這意味着更容易理解未來的代碼閱讀器 – Henning 2015-08-18 16:41:37