Ich finde oft, dass ich einige Element Variablen vorübergehend zuweisen müssen, z.Wie können Mitgliedervariablen temporär zugewiesen werden?
old_x = c.x
old_y = c.y
# keep c.z unchanged
c.x = new_x
c.y = new_y
do_something(c)
c.x = old_x
c.y = old_y
aber ich wünschte, ich einfach
with c.x = new_x; c.y = new_y:
do_something(c)
oder
sogardo_something(c with x = new_x; y = new_y)
Kann Python Dekorateure oder andere Sprach-Features ermöglichen diese Art von Muster schreiben könnte? (Ich könnte c
's Klasse nach Bedarf ändern)
warum nicht eine neue Instanz erstellen – haifzhan
@HaifengZhang 'c' viele andere Variablen haben könnte, dass? werden nicht geändert – MaxB
Guter Aufruf @HaifengZhang, es sei denn 'do_something (c)' weist anderen Attributen von 'c' zu. –