听起来像您想要的是Factory
Pattern。您将参数传递给一个工厂方法(在您的模块中,或者在它可能产生的所有对象的公共父类中),它将返回正确类的实例。在python中,由于类型是动态的,所以这个问题比Wikipedia文章上的某些细节要简单一些。
class Animal(object): @staticmethod def get_animal_which_makes_noise(noise): if noise == 'meow': return Cat() elif noise == 'woof': return Dog()class Cat(Animal): ...class Dog(Animal): ...



