In vielen Ressourcen habe ich festgestellt, dass "Gültigkeitsbereich" und "Namespaces" synonym verwendet werden, was etwas verwirrend erscheint, da sie unterschiedliche Bedeutungen haben.
- Der Bereich definiert den Bereich des Codes, in dem ein Name verfügbar ist.
- Die LEGB-Regel definiert, wie Namen nachgeschlagen werden.
- Der Namespace ist ein Ort, an dem Sie nach Namen suchen.
Dann las ich:
- "Namen werden an einen Namespace gebunden, je nachdem, wo sie zugewiesen wurden ..." (was meiner Meinung nach der Umgang mit Bereichen im lexikalischen Bereich ist).
- "Funktionen fügen Ihren Programmen eine zusätzliche Namespace-Ebene hinzu" [ Ref. ] (Fügen sie keinen zusätzlichen lokalen Bereich hinzu?)
- "Alle in einer Funktionsdefinition zugewiesenen Namen werden in den lokalen Bereich (den mit dem Funktionsaufruf verknüpften Namespace) gestellt."
- "Globaler Bereich, dh ein Namespace, in dem Variablen, die auf der obersten Ebene der Moduldatei erstellt (zugewiesen) wurden, live sind."
* Alle Zitate stammen aus dem Erlernen von Python 5th Edition, Kapitel 17
Sind Namespaces in Python so, wie Bereiche implementiert werden? Sind sie dasselbe? Kann mich jemand aufklären?