Heim > Backend-Entwicklung > Python-Tutorial > Wie funktionieren Variablenbereiche in Python-Klassen?

Wie funktionieren Variablenbereiche in Python-Klassen?

Patricia Arquette
Freigeben: 2024-11-19 08:13:02
Original
433 Leute haben es durchsucht

How do variable scopes work within Python classes?

Variablenbereiche in Python-Klassen

Bereichsvariation

In Python-Klassen variiert der Variablenbereich basierend darauf, wo sie deklariert sind:

  • Variablen auf Klassenebene (außerhalb von Funktionen):Zugriff auf alle Klassenfunktionen (öffentliche Variablen).
  • Funktionslokale Variablen (innerhalb von Klassenfunktionen):Beschränkt auf diese bestimmte Funktion (innerhalb ihres Geltungsbereichs).

selbst vs. globale Variablen

Die Deklaration einer Variablen mit self.(Variablenname) innerhalb einer Klassenfunktion macht sie auch für alle Klassenfunktionen zugänglich. Im Gegensatz zu globalen Variablen sind diese Variablen jedoch spezifisch für die aktuelle Instanz und überschreiben keine Variablen auf Klassenebene.

Zusätzliche Nuancen

  • Einzeln vs. Präfix mit doppeltem Unterstrich: Variablen, die mit einem einzelnen Unterstrich beginnen (z. B. _variable), gelten als geschützt und sollten nur innerhalb der Klasse aufgerufen werden. Variablen, die mit doppelten Unterstrichen beginnen (z. B. __variable), sind entstellt und praktisch privat.
  • Lokale Variablen: In Klassenfunktionen deklarierte Variablen sind für diese Funktionen lokal und haben keinen Einfluss auf den Klassenbereich.

Beispiel

Betrachten Sie die folgende Klasse:

class Test:
    a = None
    b = None

    def __init__(self, a):
        print(self.a)
        self.a = a
        self._x = 123
        self.__y = 123
        b = 'meow'
Nach dem Login kopieren
  • a und b sind Variablen auf Klassenebene, auf die von jedem aus zugegriffen werden kann Instanz.
  • a wird durch das instanzspezifische self.a in __init__ überschrieben.
  • _x ist geschützt und nicht Teil der öffentlichen API.
  • __y ist verstümmelt und privat zur Klasse.
  • b ist eine lokale Variable, auf die nur innerhalb von __init__ zugegriffen werden kann.

Das obige ist der detaillierte Inhalt vonWie funktionieren Variablenbereiche in Python-Klassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage