如何解决多重继承:仅从一个特定类开始调用所有方法
所以我试图创建一个多重继承类。我希望子类“告别”仅实现与初始实例相对应的方法。
class English():
def __init__(self,greeting):
self.greeting = greeting
def upper(self):
print(self.greeting.upper())
class French():
def __init__(self,greeting):
self.greeting = greeting*2
def upper(self):
print(self.greeting.upper())
class Number():
def __init__(self,greeting):
self.greeting = greeting
def upper(self):
print(self.greeting.max())
class Farewell(English,French,Number):
def __init__(self,greeting):
if greeting == "Hello":
English.__init__(self,greeting)
elif greeting == "Bonjour":
French.__init__(self,greeting)
elif type(greeting) == int:
Number.__init__(self,greeting)
如果我执行以下代码,则会引发错误:AttributeError: 'int' object has no attribute 'upper'
g = Farewell(12)
g.upper()
我该怎么做Farewell
,以确保仅调用的方法适用于类Number
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。