/ / Beschränkung der Gültigkeitsbereiche lokaler Variablen in Python - Python - Namespaces

beschränke Bereiche von lokalen Variablen in Python - Python, Namespaces

Wie kann der Umfang von Variablen innerhalb eines Abschnitts der Funktion begrenzt werden, wenn es eine lange Funktion gibt? Ich weiß in vielen Sprachen, dass man dies mit {} tun kann. Wie mache ich das in Python?

Mir ist bewusst, dass genau dafür eine eigene Funktion bestehtAbschnitt kapselt Variablen in den lokalen Namespace. Aber für eine lange, lineare Funktion argumentieren viele Leute, dass es nicht sinnvoll ist, viele Funktionen (und damit Namen) zu schreiben, die nur einmal aufgerufen werden.

Antworten:

0 für die Antwort № 1

Im Allgemeinen können Sie dies nicht tun. Python erstellt nur Bereiche für Module (Dateien, allgemein), Klassen und Funktionen; target_list in einem Listenverständnis in Python 3. Es gibt keinen Geltungsbereich auf Blockebene wie in Perl.

Ihre möglichen Problemumgehungen sind also:

  • Erstellen Sie Funktionen oder Klassen zum einmaligen Gebrauch. Die Funktion müsste aufgerufen werden, während die Klasse nach ihrer Definition nie erneut benannt werden müsste, da Klassendefinitionen sofort ausgeführt werden.
  • del Variablen, wenn Sie mit ihnen fertig sind.

Interessante Tatsache: Die Bewältigung dieser Einschränkung von Python hat uns letztendlich dazu gebracht, uns zu befreien let im Hy, weil es keine Möglichkeit gibt, es so zu machen, wie man es erwarten würde.