python super函数,第二个函数究竟是类的实例,还是类本身
发布网友
发布时间:2022-05-02 19:17
我来回答
共1个回答
热心网友
时间:2022-04-18 17:11
不太明白你的意思?super用法?
先定义个鸟类
class Bird:
def __init__(self):
pass
def fly(self):
print("I can fly")
def run(self):
print("I can run slow")
很显然, 鸟可以飞, 鸵鸟不行, 但是~~~突然有一天一只鸵鸟摆脱世俗会飞了!!!
class Ostrich(Bird):
def __init__(self, var=False):
super().__init__()
# super(Ostrich, self).__init__()
self.var = var
def fly(self):
# 如果这货变异了, 那就调用父类的fly方法
if self.var:
super().fly()
else:
print("I can't fly")
def run(self):
print("I can run fast")
所以就有了
os = Ostrich()
os.run()
os.fly()
os2 = Ostrich(var=True)
os2.run()
os2.fly()
I can run fast
I can't fly
I can run fast
I can fly