【发布时间】:2021-08-01 22:49:41
【问题描述】:
假设我有一些我的子类,它有一些默认的(可能是类似标志的)参数。处理传递这样一个论点的最佳方法是什么?我可以考虑做
class Dog():
def __init__(self, noisy = False):
self.noisy = noisy
def bark(self):
if self.noisy:
print('YAP')
else:
print('yap')
class Beagle(Dog):
def __init__(self, noisy = False):
super().__init__(noisy)
dave = Beagle(noisy = True)
dave.bark()
但是这个用了七次noisy,感觉肯定有更好的办法。
【问题讨论】:
-
你的意思可能是超类?
-
您就是这样做的。你不喜欢什么?注意,如果
Beagle不需要任何其他__init__处理,你可以完全跳过这个函数,它会继承原来的。
标签: python python-3.x inheritance super