Ich habe eine Data-Klasse mit einem Feld, Preis. Ich referenzierte das Preisfeld in einer anderen Klasse Store. Wie sollte es getan werden, so dass Shop sehen Änderung zum Preis gemacht? Hier ist die Situation in Code.Ändern eines numpy-Arrays in-place oder wie man einen Verweis auf ein zu aktualisierendes Array erhält
import numpy as np
class Data:
def __init__(self):
self.price=np.array([1,2,3])
def increasePrice(self,increase):
self.price=self.price*increase
class Store:
def __init__(self):
self.data=Data()
self.price=self.data.price
def updateData(self):
self.data.increasePrice(2)
print self.data.price #print [2,3,6]
print self.price #print [1,2,3]
Der einzige Weg, den ich finde, ist es, Preis zu referenzieren.
class Store:
....
def updateData(self):
self.data.increasePrice(2)
self.price=self.data.price #re-referencing price
print self.data.price #print [2,3,6]
print self.price #print [2,3,6]
Aber ich möchte eine 'automatische' Möglichkeit, die Felder zu synchronisieren. Ich bin neu bei Python und mir sind die Scoping-Regeln nicht klar. Danke für jede Hilfe.
Vielen Dank, sehr klare Antwort. –