在python中使用for循环正确的编程技术来创建对象?

时间:2011-05-26 17:53:08

标签: python class list object

好吧基本上我正在从文件中读取数据,并且我希望为每行创建一个对象。

类似于:

bar = [['a','b'],['c','d']]

for foo in bar:
    foo = Class_name(list_of_arguments)

“解压缩”列表的最佳技巧是什么?这最好是在类的初始化方法中完成,还是在创建对象之前更好地执行此操作并以非列表格式传递参数?我问,因为列表包含与该类将使用的对象有关的信息。

此外,我希望每个对象都有一个唯一的名称,我该怎么做?它最好用于列表中的一个值吗?

1 个答案:

答案 0 :(得分:6)

我......我想我理解你的问题。我可能会这样做:

class myClass():
  def __init__(self, *args):
    # something here that actually uses the arguments.

data = [['a', 'b'], ['c', 'd']]

objects = [myClass(*vals) for vals in data]

那应该为每组值实例化myClass并返回一个新的对象列表,可以通过索引访问。