我有以下类结构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
因为变量的值可能不同 –