我有以下類結構attributibutes:獲取唯一的基類(Python)的
class Parent(object):
def __init__(self, id, name):
self.id = id
self.name = name
def print_vars(self):
print(vars(self))
class Child(Parent):
def __init__(self, id, name, last_name, age):
Parent.__init__(self, id, name)
self.last_name = last_name
self.age = age
class AnotherChild(Parent):
def __init__(self, id, name, address):
Parent.__init__(self, id, name)
self.address= address
也許不是最好的例子,但我希望足以讓這個想法翻過。我的想法是,我初始化兩個獨立的實例,共享一些共同的屬性和方法。我需要能夠將這兩個對象轉儲到某些json和csv文件中,我希望通過方法dump_to_file
(在此示例中替換爲print_vars
)來實現這些文件。現在,當我不得不將父類和子類的所有屬性轉儲到單個文件時,此方法正常工作。不過,我只想從父類轉儲屬性。我試圖用super
或super(Parent, self)
代替self
,但沒有取得太大的成功。訪問的最佳方法是什麼代碼寫入的類的屬性是什麼?
我相信Java會自動執行此操作,因爲該方法是在父類中定義的,並且父類不知道子類的屬性。
爲什麼不能簡單地創建父的對象,然後調用該方法。 – vks
因爲變量的值可能不同 –