mm a écrit : > > How can I do a array of class? s/array/list/
> s1=[] ## this array should hold classes > > ## class definition > class Word: > word="" > > > ## empty words... INIT > for i in range(100): ## 0..99 > s1.append(Wort) I guess that s/Wort/Word/ > s1[0].word="There" > s1[1].word="should" > s1[2].word="be" > s1[3].word="different" > s1[4].word="classes" > > ... but it's not. Err... Are you sure you really understand what's a class is and how it's supposed to be used ? > > print s1 > ------------ > [<class __main__.Wort at 0x7ff1492c>, > <class __main__.Wort at 0x7ff1492c>, > <class __main__.Wort at 0x7ff1492c>, > <class __main__.Wort at 0x7ff1492c>, > <class __main__.Wort at 0x7ff1492c>, > <class __main__.Wort at 0x7ff1492c>, > ........ > ----------- > > Here, this "classes" are all at the same position in memory. Of course. You created a list of 100 references to the same class. > So there > are no different classes in the array. How could it be ? When did you put another class in the list ? > So I access with s1[0], s1[1], s1[2], etc. always the same data. Of course. > Any idea? Yes : read something about OO base concepts like classes and instances, then read the Python's tutorial about how these concepts are implemented in Python. FWIW, I guess that what you want here may looks like this: class Word(object): def __init__(self, word=''): self._word = word def __repr__(self): return "<Word %s at %d>" % (self._word, id(self)) words = [] for w in ['this', 'is', 'probably', 'what', 'you', 'want']: words.append(Word(w)) print words -- http://mail.python.org/mailman/listinfo/python-list