创建类实例

时间:2010-11-30 00:32:23

标签: python

有人可以向我解释如何从列表(或可能从excel中获取的字符串)创建类实例。我似乎总是遇到这个问题。我想创建许多类的实例,然后将它们保存在搁架中。

此示例代码不起作用,但说明了我正在尝试的方法。

class test:
  def __init__(self):
      self.a='name'

if _name__=='__main__':
   list=['A','B']
   for item in list:
       item=test()

1 个答案:

答案 0 :(得分:1)

您的代码中的少数问题包括变量的命名。它会让你感到困惑。

class test:
    # I guess you want to provide the name to initialize the object attribute
    def __init__(self, name):   
        # self.name is the attribute where the name is stored.
        # I prefer it to self.A 
        self.name = name        

现在的问题是,实例也是列表中的一个元素,我认为它是一个名称。

if __name__=='__main__':
    # I presume these are list of names
    list_of_names = ['A','b','c']

    # You have to store your instance some where.
    instance_list = []

    # Here name is an element of the list that you are iterating
    # I change it to name instead of instance
    for name in list_of_names:   
        # Here I am appending to the list, a test object that I create         
        instance_list.append(test(name))

[编辑:]

现在,我真的不明白你,为什么这段代码:

  for item in list:
       item=class()   # How can you reassign the item ? 

看看这个项目是什么。

>>> for item in ['A', 'B']:
...     print item
... 
A
B
>>> 

您不应该为其分配item = ....,但您应该使用它.... = ..(item) !!!