首先,感谢博主链接,接下来是我的测试代码:
print('--------------------------------------------')
class Animal:
def __init__(self, name, year):
self.name = name
self.year = year
def tiger(self):
print(self.name, self.year)
class Animal1(Animal):
pass
zoo = Animal1('tiger', 10)
zoo.tiger()
print('---------------------------------------------')
'''
在内部直接传入数据
'''
class Animal2(Animal):
# 子类构造函数,不再调用父类构造函数
# 若想使用父类属性,需要用super方法,类内赋值
def __init__(self):
super(Animal2, self).__init__('tiger', 10)
zoo = Animal2()
zoo.tiger()
print('---------------------------------------------')
'''
在外部传入数据
'''
class Animal3(Animal):
# 构造子类实例(若想外部调用父类属性,需在子类构造函数中填入父类属性(name, year))
def __init__(self, ss, name, year):
super().__init__(name, year)
self.ss = ss # 子类特有的属性
zoo = Animal3('tiger', "小明", "18")
print(zoo.ss)
zoo.tiger()
输出:
--------------------------------------------
tiger 10
---------------------------------------------
tiger 10
---------------------------------------------
tiger
小明 18