Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
ich suche eine Formatierung, die mir es ermöglicht eine Liste auszuegeben. Ich habe mehrere Klassenobjekte in dieser gespeichert, die alles individuelle Werte besitzen!
Wie kann ich die nun sinnvoll ausgeben?
wenn ich mit print liste, die liste ausgeben, dann gibt er mir die speicheradressen von allen listen, jedoch nicht die werte!
In [23]: class A:
....: def __init__(self, x):
....: self.x = x
....: def __repr__(self):
....: return "x = %s" % self.x
....:
In [24]: a = A(1)
In [25]: b = A(2)
In [26]: c = A(3)
In [27]: l = [a,b,c]
In [28]: for i in l: print i
....:
x = 1
x = 2
x = 3
so in figur steht jetzt ein objekt mit verschiedenen werten! diese figur wird der liste m_figurListe zugefügt und diese möchte ich jetzt ausgeben! in dem objekt sind int und float werte gespeichert!
wie du siehst wird der Inhalt jeweils an die Variable name übergeben, damit kannst du dann innerhalb der Schleife nach belieben verfahren. Der Variablenname ist frei wählbar und muss keinen Bezug auf die Liste haben. Falls das nicht funktionieren sollte würde ich aus der Liste nen Array machen:
class Zeichnung:
def __init__(self):
self.m_figurListe = list()
def hinzufuegen_figur(self,figur):
self.m_figurListe.append( figur )
for name in self.m_figurListe:
print name
ok sorry, ich glaub ich kriegs jetzt hin, wenn net melde ich mich nochmal!
vielen danke für eure hilfe!
jetzt würd mich natürlich noch interessieren, was die __repr__(....
macht?
Kleine Anmerkung zur Namensgebung: Die (IMHO) Unart ein `m_` vor Variablennamen zu schreiben um sie als `Member`-Variablen zu kennzeichnen und sie von lokalen Namen unterscheiden zu können ist zwar in C++ weit verbreitet, in Python aber total unnötig. In Python muss vor `Member`-Variablen ein `self.` stehen. Das sollte deutlich genug sein.
ja hast recht, komme etwas durcheinander, da ich momentan in 4 Sprachen gleichzeitig progge, in der Python Welt ist das natürlich auch eine Liste, die du aber theoretisch behandelst wie ein array, hab grad keine Lust das zu testen, aber müsste doch theoretisch auch mit sowieso[5] gehen, oder?