【发布时间】:2014-02-06 18:24:42
【问题描述】:
假设你有 Dog、Cat、Pig 等类都继承自 Animal,那么随机初始化一个类的最佳方法是什么?
即一个基本的方法是有一个元组,从中选择一个项目,然后创建一个选定值的实例。
animals = ('dog', 'cat', 'pig'...)
choice = random.choice(animals)
if choice == 'dog':
new_animal = Dog()
elif choice == 'cat':
new_animal = Cat()
...
但显然这是非常低效的,如何最好地实现这种行为?
在相关说明中,如果您要求用户输入(标准输入、文本文件等)他们想要的动物,那么您将如何实例化正确的动物?再一次,一个丑陋的方法就是上面的一个很大的 if, elif 语句。
【问题讨论】: