Skip to main content
 首页 » 编程设计

python之在 Python 中选择随机类

2025年05月04日14think

假设您有 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 语句。

请您参考如下方法:

不是存储类名的字符串,而是存储实际的类本身,就像这样

animals = (Dog, Cat, Pig) 
the_chosen_one = random.choice(animals) 
new_animal = the_chosen_one()