Im Moment habe ich Code wie folgt:Eine Alternative zu globalen in Python
cache = 1
def foo():
global cache
# many
# lines
# of code
cache = 2
Dies ist jedoch zu schwer zu finden-Fehler führen können, in die Zukunft, denn der Leser nicht feststellen, dass global cache
irgendwo erscheint über cache = 2
. Alternativ dazu kann ein Beitragender versehentlich def bar(): cache = 2
hinzufügen und vergessen, die global cache
hinzuzufügen.
Wie kann ich diese Falle vermeiden?
Was genau ist die Falle? Was versuchst du zu erreichen und was funktioniert nicht? – BrenBarn
Was ist, wenn jemand die zweite Methode schreibt? Es wird immer noch eine lokale Variable sein. Es gibt kein Problem mit Ihrem Code. – ATOzTOA
Wenn es keine 'globale' Deklaration gibt, dann ist die Variable lokal - wenn 'der Leser' irgendeinen Hintergrund in Python hat, dann wissen sie, dass es lokal ist. Wenn Sie wirklich wollen, fügen Sie einfach einen Kommentar hinzu, der sagt, dass es lokal oder so ist. – Volatility