Python:从类列表中实例化类的新实例

时间:2011-12-20 23:09:53

标签: python

免责声明:这可能是一个非常简单的问题,但我正在尝试学习Python。

基本上,我有一个类列表并给出一个随机数,我想构建一个以该随机数索引的类的新实例。

  #The members of the list below are class objects  
  SHAPES = [I_shape, J_shape, L_shape, O_shape, S_shape, T_shape, Z_shape]

我已经发现如何在给定字符串的情况下这样做,所以我想我可以使用该类的name属性,但我很好奇是否有更简单的方法来解决这个问题。

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

给定SHAPES数组,您只需调用类对象:

new_obj = random.choice(SHAPES)()

random.choice(SHAPES)选择您的I_shapeJ_shape等之一,而最终的()会调用该类对象的构造函数,就像您已编写{ {1}}或其他什么。

答案 1 :(得分:1)

尝试:

obj = SHAPES[your_random_number]()