从字符串创建子类

时间:2014-12-21 01:43:38

标签: python

使用Python我希望实现以下目标。

fruit = Fruit()
fruit.add_item('apple')
fruit.apple.add_color('red')
fruit.apple.add_taste('sweet')
fruit.add_item("lemon")
fruit.lemon.add_color('yellow')
fruit.lemon.add_taste('bitter')

即。我需要从字符串创建一个子类。这似乎是一种常见的设计模式。这将如何实现?

1 个答案:

答案 0 :(得分:2)

看起来你实际上不需要创建任何子类。更确切地说:

class OneFruit(object):
    def add_color(self, color):
        self.color = color
    def add_taste(self, taste):
        self.taste = taste

class Fruit(object):
    def add_item(self, name):
        setattr(self, name, OneFruit())

这个简单的代码符合您的示例。如果你想要的是非常不同的东西,请做一个不同的例子并相应地编辑你的问题! - )