多重继承:仅从一个特定类开始调用所有方法

问题描述

所以我试图创建一个多重继承类。我希望子类“告别”仅实现与初始实例相对应的方法。

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 (将#修改为@)