ich habe beschlossen, mich ein wenig an die Objektorientierte Programmierung ran zu trauen. Mein erstes Ziel: eine Liste, welche aus 10 Tupeln besteht. Diese Tupel wiederum enthalten 2 Zahlen (sollen Koordinaten sein...).
Jetzt bin ich auf ein "Phänomen" gestoßen, welches ich mir nicht so recht erklären kann. Hier mein Code:
Code: Alles auswählen
#!/usr/bin/python
import random
class Zufall:
box = []
def __init__(self):
self.a = (random.randint(0, 99), random.randint(0, 99))
Zufall.box.append(self.a)
def Ausgabe(self):
print Zufall.box
for i in range(0, 10):
print Zufall().box
Wenn ich jetzt aber Zufall().box in eine Variable test verpacke und diese innerhalb der for i in range(0,10) Schleife ausgebe, bekomme ich folgende Ausgabe:>>> [(8, 11)]
[(8, 11), (96, 66)]
[(8, 11), (96, 66), (17, 22)]
[(8, 11), (96, 66), (17, 22), (22, 79)]
[(8, 11), (96, 66), (17, 22), (22, 79), (10, 84)]
[(8, 11), (96, 66), (17, 22), (22, 79), (10, 84), (48, 98)]
[(8, 11), (96, 66), (17, 22), (22, 79), (10, 84), (48, 98), (38, 13)]
[(8, 11), (96, 66), (17, 22), (22, 79), (10, 84), (48, 98), (38, 13), (72, 79)]
[(8, 11), (96, 66), (17, 22), (22, 79), (10, 84), (48, 98), (38, 13), (72, 79), (57, 81)]
[(8, 11), (96, 66), (17, 22), (22, 79), (10, 84), (48, 98), (38, 13), (72, 79), (57, 81), (72, 64)]
Ich jemand dieses Verhalten erklären? Verstehe nicht so richtig, warum das passiert...>>> [(48, 30)]
[(48, 30)]
[(48, 30)]
[(48, 30)]
[(48, 30)]
[(48, 30)]
[(48, 30)]
[(48, 30)]
[(48, 30)]
[(48, 30)]
Gruß,
vogti