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

Wie funktionieren Variablenbereiche in Python-Klassen?

Mary-Kate Olsen
Freigeben: 2024-11-17 21:58:01
Original
877 Leute haben es durchsucht

How Do Variable Scopes Work in Python Classes?

Variablenbereiche in Python-Klassen verstehen

Variablen in Python-Klassen zu deklarieren kann zunächst verwirrend sein. Ziel dieses Artikels ist es, die verschiedenen Bereiche und Nuancen zu klären, die mit der Variablendeklaration in Klassenkontexten verbunden sind.

Allgemeine Gültigkeitsbereichsregeln:

  • Klassenvariablen:Diese Variablen werden außerhalb von Funktionen innerhalb einer Klasse deklariert und sind für alle Klassenfunktionen zugänglich.
  • Lokal Variablen:Innerhalb von Funktionen innerhalb einer Klasse deklariert, auf diese Variablen kann nur innerhalb dieser Funktion zugegriffen werden.
  • Instanzvariablen:Mit self.(Variablenname) in Funktionen innerhalb einer Klasse deklariert, Auf diese Variablen kann von allen Klassenfunktionen zugegriffen werden.

Instanzvariablen vs. Global Variablen:

Instanzvariablen (deklariert mit self.(Variablenname)) verhalten sich anders als globale Variablen (deklariert außerhalb einer Funktion oder Klasse). Während alles, was innerhalb einer Klasse deklariert wird, technisch gesehen öffentlich ist, sind Instanzvariablen an die einzelne Objektinstanz gebunden.

Beispiel:

class Test:
    a = None  # Class variable
    b = None  # Class variable

    def __init__(self, a):
        self.a = a  # Instance variable
Nach dem Login kopieren

In diesem Beispiel die Klassenvariablen a und b sind für alle Klassenfunktionen zugänglich. Die Instanzvariable self.a ist jedoch für jede Objektinstanz spezifisch. Das Setzen von self.a in __init__ hat keinen Einfluss auf die Klassenvariable a.

Geschützte Variablen:

Obwohl Python private oder geschützte Variablen nicht explizit definiert, sind Variablen mit dem Präfix an Unterstrich (_) gelten als geschützt. Technisch gesehen sind sie immer noch außerhalb der Klasse zugänglich, aber die Verstümmelung ihrer Namen erschwert den Zugriff.

Private Variablen:

Variablen, denen ein doppelter Unterstrich (__) vorangestellt ist, gelten als privat. Ihre Namen sind verstümmelt, um den direkten Zugriff außerhalb der Klasse zu erschweren.

Zusätzliche Nuancen:

  • Variablen, die innerhalb lokaler Funktionen, aber außerhalb von Selbst zugewiesen werden.( Variablenname) sind außerhalb dieser Funktion nicht verfügbar.
  • Mangle-Proof-geschützte und private Variablen sind außerhalb der Klasse nicht völlig unzugänglich, sollten es aber auch nicht sein zuverlässig für eine echte Kapselung.

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