Python Unterstrich, als eine Funktion der parameter
Habe ich ein python-spezifische Frage. Was macht ein einzelner Unterstrich _
als parameter bedeutet?
Ich habe eine Funktion aufrufen hexdump(_)
. Der _ war nie definiert, so dass ich denke, es hat einige Besondere Wert konnte ich nicht finden, eine Referenz sagt mir, was es bedeutet im Netz. Ich würde glücklich sein, wenn Sie mir sagen konnte.
- Um Menschen dies zu beantworten: was macht ein einzelner Unterstrich als parameter bedeuten im ("normalen") python code und nicht, wenn in der interpreter?
InformationsquelleAutor Steve | 2011-04-26
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Python-shells, der Unterstrich (
_
) bedeutet, dass das Ergebnis des letzten ausgewerteten Ausdrucks in der shell:Gibt es auch
_2
,_3
und so weiter in IPython aber nicht in der original-Python-interpreter. Es hat keine spezielle Bedeutung, die in Python-source-code so weit wie ich weiß, also ich denke, es ist irgendwo definiert in deinem code, wenn es ohne Fehler läuft.What does a single underscore _ as a parameter means?
- Unterstrich als eine Funktion der parameter, nicht als Aussage (im interaktiven interpreter)Aus, was ich schon immer in der Lage, herauszufinden, wie es scheint, ist dies der Fall:
_
wird verwendet, um anzuzeigen, dass die input-variable ist eine Wegwerf-variable/parameter und damit möglicherweise erforderlich oder zu erwarten, wird aber nicht verwendet werden, in der folgende code.Beispiel:
(Kredit dieser Beitrag)
Dem spezifischen Beispiel, das ich stieß, war dies:
Es nicht einen speziellen Wert, der in dem code, den Sie schreiben. Es speichert das Ergebnis des letzten Ausdrucks Sie bewertet in Ihrem interaktiven interpreter und ist für die Bequemlichkeit
python
an der Eingabeaufforderung ein und drücken Sie die EINGABETASTE. Versuchen Sie3+4
geben Sie bei der>>>
Eingabeaufforderung, und drücken Sie die EINGABETASTE. Dann versuchen, drucken Sie den Wert von_
. Sie erhalten7
(Ergebnis der Letzte Ausdruck, der ausgewertet wird).Unterstrich wird als 'don' T care " - Variablen, des weiteren IDEs wie PyCharm nicht geben eine Warnung für Sie, wenn Sie ungenutzt
so, in einer Funktion
wird die IDE unterstreichen a,b und c (nicht verwendeten parameter), aber nicht den Unterstrich
warum würden Sie es benutzen und nicht das weglassen der parameter?
->wenn Sie Erben von einer Klasse und überschreiben möchten eine Funktion, wo Sie don ' T wollen verwenden Sie einige parameter
anderen häufigste Verwendung ist, um anzuzeigen, dass Sie nicht wollen, zu einem Teil eines Tupels, wenn Sie iterate (oder andere Auspacken) - dies reduziert die Unordnung
Ich kann nicht finden, es in die python-PEP, aber pylint hat es sogar in die FAQ
Ja, es hat einen Sinn in Ihrem code, wie dieses Beispiel zeigt:
Wie Sie sehen können, diese erlaubt Ihnen nicht, einen Namen zu geben, um ein zurückgegebene Wert. Aber dein Fall ist anders als die '_' verwendet wird, als parameter (die standard-python-shell rechnet damit, dass es als variable:
NameError: name '_' is not defined
).