如何在子类中添加实例属性?



这是我的代码:

class Person:
def __init__(self, name):
self.name = name

class Student(Person):
def register(self, school):
pass
def payfee(self, money):
pass
def chooseClassAndGrand(self, obj):
pass
class Teacher(Person):
pass

我想向 Student 类添加一个class实例属性,如果我不想重写__init__()方法,如何在 Student 类代码中使用它?

你不需要重写__init__.假设你想在创建Student实例时调用Person__init__功能,你可以在Student__init__函数中使用super关键字:

class Student(Person):
def __init__(self):
super().__init__() # python3.0+
self.classAndGrade = ...
...

如果您使用的是python <3.0,则可以使用

super(Person, self).__init__()

这是最简单的方法。

添加到 COLDSPEED,你也可以使用下面的属性来添加属性:

class Student(Person):
def __init__(self, name, classAndGrade):
Person.__init__(self, name)
self.classAndGrade = classAndGrade
...