子类继承父类,之类必须调用父类的构造函数。
下面是一个例子: 仔细品尝即可发现其中奥妙。
class Person:
def __init__(self,name,age):
self.name = name
self.age = age
def say_hi(self):
print("您好,我叫{0},{1}岁".format(self.name,self.age))
class Student(Person):
def __init__(self,name,age,stu_id):
# super.__init__(self,name,age) #或者这样
Person.__init__(self,name,age) #子类继承父类,之类必须调用父类的构造函数。
self.stu_id = stu_id
self.name = name
def say_hi(self):#子类的方法,相当于重写
Person.say_hi(self) #调用父类的方法
print("我是{},我的学号为:".format(self.name),self.stu_id)
if __name__ == '__main__':
p1 = Person('张王一',33)
p1.say_hi()
s1 = Student('李二',20,'201801001')
s1.say_hi()
结果: