Heim  >  Artikel  >  Backend-Entwicklung  >  Was ist der Unterschied zwischen einfacher und doppelter Unterstreichung in Python?

Was ist der Unterschied zwischen einfacher und doppelter Unterstreichung in Python?

silencement
silencementOriginal
2019-05-23 18:11:387960Durchsuche

Der Unterschied zwischen einfacher Unterstreichung und doppelter Unterstreichung in Python besteht darin: Einfache Unterstreichung wird verwendet, um anderen Programmen mitzuteilen, dass dieses Attribut oder diese Methode privat ist. Doppelte Unterstreichung wird zum Definieren von Instanzen, Klassenvariablen, globalen Variablen und Instanzen verwendet von privaten Klassenvariablen usw.

Was ist der Unterschied zwischen einfacher und doppelter Unterstreichung in Python?

Einzelner Unterstrich

Das Starten einer Methode oder eines Attributs in einer Klasse mit einem einzelnen Unterstrich teilt anderen Programmen dies mit. Die Eigenschaft oder Methode ist privat. Dennoch ist an diesem Namen nichts Besonderes.

(Empfohlenes Tutorial: Python-Video-Tutorial)

Doppelte Unterstreichung

Beliebig Die Form __spam (beginnend mit mindestens zwei Unterstrichen und endend mit höchstens einem Unterstrich) ersetzt _classname__spam, wobei classname der Name der aktuellen Klasse ist. Diese Verstümmelung erfolgt ohne Rücksicht auf die syntaktische Position des Bezeichners. Es kann also verwendet werden, um private Klasseninstanzen und Klassenvariablen, Methoden, Variablen in der globalen Welt und sogar Variablen in der Instanz zu definieren. Es können Instanzen verschiedener Klassen unterschieden werden.

Was ist der Unterschied zwischen einfacher und doppelter Unterstreichung in Python?

Zusammenfassung:

__foo__: eine Konvention, ein interner Name in Python, der zur Unterscheidung anderer benutzerdefinierter Namen verwendet wird Namen benennen, um Konflikten vorzubeugen.

_foo: Eine Konvention, die verwendet wird, um anzugeben, dass Variablen privat sind. Eine Möglichkeit für Programmierer, private Variablen anzugeben.

__foo: Das hat eine echte Bedeutung: Der Parser ersetzt diesen Namen durch _classname__foo, um ihn von anderen Klassen mit demselben Namen zu unterscheiden.

In Python gibt es keine andere Form des Unterstrichs.

Diese Konvention unterscheidet sich nicht von Klassen, Variablen, globalen Variablen usw.

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen einfacher und doppelter Unterstreichung 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