Seite 1 von 1

Variable im Objektnamen

Verfasst: Samstag 31. Dezember 2011, 02:28
von Jonso
Moin,
ich würde gerne die Eigenschaften mehrerer Objekte ändern und
wollte dafür eine for-Schleife verwenden.

Code: Alles auswählen

for i in range(5):
    print(self.objekt_i.eigenschaft)
Jetzt weiß ich nicht, wie ich es so umschreibe, dass "i" nicht als
Objektname sondern als Variable erkannt wird.
Es kann gut sein, dass ich grade einfach etwas offensichtliches
übersehe, aber über Hilfe würde ich mich trotzdem freuen :D

Re: Variable im Objektnamen

Verfasst: Samstag 31. Dezember 2011, 02:50
von pillmuncher
Ja, du hast übersehen, dass man Attributnamen nicht durchnummerieren sollte. Statt:

Code: Alles auswählen

class MyClass:
    def __init__(self):
        self.object_0 = ...
        self.object_1 = ...
        ...
solltest du einfach eine Liste verwenden:

Code: Alles auswählen

class MyClass:
    def __init__(self):
        self.objects = []
        self.objects.append(...)
        self.objects.append(...)
        ...
Dann kannst du hinterher sowas machen:

Code: Alles auswählen

for each in self.objects:
    print(each.eigenschaft)