Немногие проблемы в вашем коде включают в себя именование переменных. Это может вас смутить.
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))
[Edit:]
Теперь, я действительно не понимаю вас, почему этот кусок кода:
for item in list:
item=class() # How can you reassign the item ?
Посмотрите, что этот пункт.
>>> for item in ['A', 'B']:
... print item
...
A
B
>>>
Не следует назначать его item = ....
, но вы должны использовать его .... = ..(item)
!!!
Когда вы вызываете «для i в seq:», i не является исходным объектом в seq, а копией к нему. Таким образом, ваш код не будет работать. – Kabie 2010-11-30 00:40:50
Почему вы это пытаетесь? Где вы видели «класс», используемый как функция? В каком учебнике вы учите Python? – 2010-11-30 00:41:38