问题描述
所以我试图创建一个多重继承类。我希望子类“告别”仅实现与初始实例相对应的方法。
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 (将#修改为@)