Heim >Backend-Entwicklung >Python-Tutorial >Was ist der Unterschied zwischen einfachen und doppelten Unterstrichen in Python?

Was ist der Unterschied zwischen einfachen und doppelten Unterstrichen in Python?

Linda Hamilton
Linda HamiltonOriginal
2024-12-22 12:07:41958Durchsuche

What's the Difference Between Single and Double Underscores in Python?

Eintauchen in Pythons einfache und doppelte Unterstriche

Pythons Verwendung von führenden Unterstrichen vor Objektnamen vermittelt bestimmte Bedeutungen und Verhaltensweisen.

Einzelner Unterstrich: „Interne Verwendung“ Indikator

Ein einzelner Unterstrich zeigt an, dass ein Attribut oder eine Methode zur Verwendung innerhalb einer eigenen Klasse vorgesehen ist. Es handelt sich um eine Konvention und nicht um eine erzwungene Regel, um externen Zugriff zu verhindern. Wenn außerdem ein einzelner Unterstrich vor Funktionsnamen in einem Modul steht, bedeutet dies, dass diese nicht von außerhalb des Moduls importiert werden sollten.

Doppelte Unterstriche: Namensverfälschung

Doppelte Unterstriche Trigger-Namensmangling, ein Prozess, bei dem dem Bezeichner der Klassenname vorangestellt wird, wobei führende Unterstriche entfernt werden. Dies wird für „private“ Klassenmitglieder durchgeführt, um Konflikte mit Mitgliedern abgeleiteter Klassen oder externem Code zu vermeiden. Es ist jedoch wichtig zu beachten, dass bestimmte Benutzer weiterhin auf diese Variablen zugreifen können.

Beispiel:

Im folgenden Beispiel soll __superprivate außerhalb der Klasse nicht zugänglich sein. während _semiprivate der Konvention für den internen Gebrauch folgt:

class MyClass:
    def __init__(self):
        self.__superprivate = "Hello"
        self._semiprivate = ", world!"

Nur ​​beim Zugriff auf diese Mitglieder außerhalb der Klasse _semiprivate wird offengelegt:

mc = MyClass()
print(mc._semiprivate)  # "Hello"
print(mc.superprivate)  # Attribute error

Daher weisen einzelne Unterstriche auf die beabsichtigte interne Verwendung hin, während doppelte Unterstriche Mitglieder vor direktem Zugriff durch Namensverfälschung schützen und eine Datenschutzebene, aber keine absolute Sicherheit bieten.

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen einfachen und doppelten Unterstrichen in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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