这是我的代码:
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
...