Wofür ist der Python-Unterstrich (_)?

Fazit

  1. Ignorieren Sie den Rückgabewert

Und wenn Sie diese beherrschen, können Sie Ihren Freunden das Gefühl von "** Ich kenne Python fantastisch **" zeigen!

Inhalt

1. Ignorieren Sie den Rückgabewert

Das ist bekannt und man sieht es oft. Kürzung.

2. Unterscheiden Sie die Verwendung anhand von Namensfunktionen

Ich habe das nicht verstanden, weil verschiedene Muster herauskamen.

a. _Funktion (x): #Eine vor Funktion

def _single_leading_underscore(x):
    return something

Eine Funktion kann als "intern" definiert werden, indem ein Unterstrich vor der Funktion eingefügt wird. Das heißt, diese Funktion wird beim Importieren aus einer anderen Python-Datei nicht geladen. Es ist ein wenig kalkuliert, aber es ist kompliziert, daher wird es mit der Motivation verwendet, es funktionsfähig zu machen.

b. function_ (x): #Eine nach der Funktion

def single_trailing_underscore_: 
    return something

Ich habe das nicht verrückt gesehen, aber nachdem die Funktion verwendet wurde, wird ein Unterstrich hinzugefügt, um zu vermeiden, dass sie in Python als wichtige Funktion bezeichnet wird. Es wird wahrscheinlich von problematischen Chans verwendet, die denselben Namen wie list als Funktionsnamen verwenden möchten.

Aber dann denke ich, ich sollte ihm einen anderen Namen geben.

c. __Funktion (x): #Zwei vor der Funktion

def __double_leading_underscore: 
    return something

Rufen Sie den Name Mangling-Mechanismus auf, indem Sie vor der Funktion in der Klasse zwei Unterstriche hinzufügen. Dieser lächerliche "Mangling-Mechanismus" besteht darin, dass der Interpreter und der Compiler Variablen nicht auf die übliche Weise behandeln. Beispielsweise kann Foobar .__ bar für die Klasse FooBar-Funktion __boo die Funktion nicht aufrufen und wird als _Foobar__boo verwendet.

Ja, ich benutze es nicht.

d. __ Funktion __ (x): #Zwei vor und nach der Funktion

def __double_leading_and_trailing_underscore__: 
    return something

Indem zwei vor und nach der Funktion im Unterricht unterstrichen werden, wird dies zu einer magischen Methode. Diese unhörbare "magische Methode" ist eine Methode, die in japanischen Büchern als spezielle Methode einer Klasse bezeichnet wird. Sie wird beim Erstellen einer sogenannten Klasse berücksichtigt.

__init__

Das ist. Es gibt viele spezielle Methoden. Überprüfen Sie daher diesen Link, aber die speziellen Methoden sind grundsätzlich Es ist ratsam, ein vorhandenes zu verwenden und es nicht selbst zu definieren.

3. Leicht zu lesende Zahlen

>>> 1000000
Out: 1000000
>>> 1_000_000
Out: 1000000

Implementiert in Python3.6 und höher, um lange Zahlen verständlicher zu machen.

Wenn Sie diese Regel nicht kennen, müssen Sie gefragt werden: "Warum enthalten die Zahlen einen Unterstrich?" Ist Python, das als Sprache für Anfänger bekannt ist, für Anfänger weniger lesbar?

4. Repräsentativ für den zuletzt im Interpreter angezeigten Wert

Im Interpreter scheint der Unterstrich den letzten Ausdruckswert darzustellen. Nun, ich weiß nicht.


Verweise Medium

magic method

Recommended Posts

Wofür ist der Python-Unterstrich (_)?
Was ist die Schnittstelle für ...
[Python] Was ist @? (Über Dekorateure)
[Python] Was ist der sortierte Schlüssel?
Python für Anweisung ~ Was ist iterierbar ~
Was ist Python?
Was ist Python?
[Python] Was ist Pipeline ...
Wofür ist Linux?
[Python] Was ist virtualenv?
Was ist im Docker Python-Image pfeifend?
Bachstelze ist das beste CMS für Python! (Vielleicht)
[Beispiel für eine Python-Verbesserung] Was ist die empfohlene Lernseite für Python-Anfänger?
Was ist die Aktivierungsfunktion?
[Python] Python und Sicherheit - is Was ist Python?
[Python] * args ** Was ist kwrgs?
Was ist die Rückruffunktion?
Python-Grundkurs (1 Was ist Python?)
Was ich zum ersten Mal in Python bekommen habe
Electron ist die beste Lösung für die plattformübergreifende Entwicklung von Python
[Python] Was ist eine Zip-Funktion?
[Python] Was ist eine with-Anweisung?
Python Underbar Das ist was
Was ist Schaben? [Zusammenfassung für Anfänger]
Was ist das X Window System?
Siehe Python zum ersten Mal
Was ist die Standard-TLS-Version des Python-Anforderungsmoduls?
Python> Was ist ein erweitertes Slice?
Was ist xg boost (1) (für Anfänger)
Befehl für das aktuelle Verzeichnis Python
Überprüfen Sie den Zeichencode für alle Dateien im Verzeichnis Python und geben Sie ihn aus
[Einführung in Python] Was ist Python, die derzeit leistungsstärkste Programmiersprache?
Was tun, wenn der Werttyp in Python nicht eindeutig ist?
[Python] Was ist Pandas Series und DataFrame?
[Python] Was wird durch Mehrfachvererbung geerbt?
Was ist NaN? NaN Zoya (Python) (394 Tage zu spät)
Inject wird für DDD in Python empfohlen
Was für eine Programmiersprache ist Python?
Was ist Clivoa, ein Framework für die ETL-Verarbeitung?
Warum Python für maschinelles Lernen ausgewählt wird
[Unix] Was ist der Zombie-Prozess / Orphan-Prozess?
Was ist die Ursache für den folgenden Fehler?
[Statistik für Programmierer] Was ist ein Ereignis?
Was ist ein Hund? Python-Installationsvolumen
MongoDB mit Python zum ersten Mal
[Python] [Meta] Ist der Python-Typ ein Typ?
Pandas des Anfängers, vom Anfänger, für den Anfänger [Python]
[Maschinelles Lernen] Was ist LP-Norm?
2016-10-30 sonst für Python3> für:
Python-Unterstrichvariable
Python [für mich]
Was ist copy.copy ()
Was ist die XX-Datei im Stammverzeichnis eines beliebten Python-Projekts?
Python ist einfach
Was ist Django? .. ..
[Einführung in Python] Was ist der Unterschied zwischen einer Liste und einem Taple?
Was ist dotenv?