Python继承还是嵌套类?

我希望能够实例化一个对象并与其进行交互,而无需知道该对象在开始时将是哪种特定类型。基本上,我希望对象具有配置文件中指定的属性,然后使用统一的句柄与之交互。

在下面的示例中,我试图确定是否需要使用Python继承或嵌套/内部类。

例如,我想执行以下操作

config.animal_type = 'Squirrel'
a = Animal()
a.walk()
I'm walking on 4 legs!

config.animal_type = 'Monkey'
b = Animal()
b.walk()
I'm walking on 2 legs!

类结构与下面的结构类似,但是我将使用config.animal_type变量来确定ab的类型。

class Animal:
    def __init__(self)
        ...
    def walk(self)
        ...
    def eat(self)
        ...

class Squirrel(Animal):
    def walk(self):
        self.walk_on_4_legs()
        super().walk()

    def walk_on_4_legs(self):
        print("I'm walking on 4 legs!")


class Monkey(Animal):
    def walk(self):
        self.walk_on_2_legs()
        super(Monkey,self).walk()

    def walk_on_2_legs(self):
        print("I'm walking on 2 legs!")

或者,我也一直在研究使用嵌套/内部类,其中我只会在Squirrel类中定义MonkeyAnimal类,然后仅基于在配置变量上。唯一的一件事是,我读到嵌套/内部类不建议作为最佳实践。

我希望澄清实现该功能的最佳方法。

godkid5201314 回答:Python继承还是嵌套类?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2828256.html

大家都在问