1.什么是继承
继承是让子类直接拥有父类的属性和方法的过程就是继承
子类 - 继承者
父类 - 被继承者(又叫超类)
2.怎么继承
class 子类名(父类1, 父类2, 父类3…):
类的说明文档
类的内容
说明:
默认情况下,类继承自object:
class 类名: == class 类名(object):
python中的类支持多继承
class Person:
num = 61
def __init__(self, name='张三', age=18, gender='男'):
self.name = name
self.age = age
self.gender = gender
def eat(self, food='馒头'):
print(f'{self.name}在吃{food}')
@staticmethod
def func1():
print('静态方法')
class Student(Person):
pass
3.继承可以让子类直接拥有父类的所有属性和方法
print(Student.num)
stu = Student()
print(stu.name, stu.age, stu.gender)
stu.eat(‘肉包子’)
Student.func1()
1.怎么在子类中添加内容
1)添加类属性和方法
直接在子类中定义
添加对象属性
需要在子类的__init__方法中通过super()去调用父类的__init__方法
super()只能在对象方法和类方法中使用
练习:定义一个教师类在Person类的基础上添加:职称和工龄两个属性,
并且要求创建教师对象的时候必须给名字、职称和性别赋值,年龄和工龄可以赋值可以不赋值
class Person:
def init(self, name, age=0, gender=‘男’):
self.name = name
self.age = age
self.gender = gender
class Teacher(Person,):
def init(self, level, name, gender, age=18, work_age=1):
self.level = level
self.work_age = work_age
super().init(name, age, gender)
def __repr__(self):
return f'<{str(self.__dict__)[1::-1]}'