有人可以向我解释如何从列表(或可能从excel中获取的字符串)创建类实例。我似乎总是遇到这个问题。我想创建许多类的实例,然后将它们保存在搁架中。
此示例代码不起作用,但说明了我正在尝试的方法。
class test:
def __init__(self):
self.a='name'
if _name__=='__main__':
list=['A','B']
for item in list:
item=test()
答案 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)
!!!