我对Python还不太熟悉,我有一个问题,关于创建具有不同属性的多个对象的简洁方法。目前,我必须具体创建每一个这样的:
object1 = MyClass(property=foo,property2=bar)
object1.DoStuff(variable = foobar)
object2 = MyClass(property=foo,property2=bar2)
object2.DoStuff(variable = foobar)
object3 = MyClass(property=foo,property2=bar3)
object3.DoStuff(variable = foobar)
我的问题是我想用这种方式创建几十个对象,而不得不手动创建每一个这样的对象似乎是非常糟糕的编程。有没有更好的方法来创建属性稍有不同的多个对象?
我想我想做的是:
list = [prop1, prop2, prop3, prop4, prop5]
while i < len(list)
object_i = MyClass(property=foo,property2=list[i])
object_i.DoStuff(variable = foobar)
i+=1
并创建5个名为object_1、object_2等的对象
这可能吗?
如果您有名称为
object_1
、object_2
等的对象,并且希望对所有这些对象执行公共操作,则这是一个明显的信号,表明您实际上应该使用列表objects
,并使用循环来执行公共操作。使用元组解包和列表理解。
另一种方法是在字典的帮助下使用更有意义的对象定义。如果你只关心对象1、对象2等,那么Sven Marnach的解决方案很有效,但是如果你的对象稍后确实具有个人重要性呢?引用它们会变得不直观,你会很快迷失方向。下面是一些示例代码,可以帮助您解决这方面的问题:
如果您希望特定实例执行与其他实例不同的操作,此解决方案将使以下操作变得简单:
相关问题 更多 >
编程相关推荐