Wie lautet der korrekte Name für Operator? *
wie in function(*args)
? entpacken, entpacken, noch etwas?
richtiger Name für Python * Operator?
Irgendein Korn
vergänglich
In Ruby und Perl 6 wurde dies “Splat” genannt, und ich denke, die meisten Leute aus diesen Communities werden verstehen, was Sie meinen, wenn Sie es so nennen.
Das Python-Tutorial verwendet den Ausdruck “Entpacken von Argumentlisten”, der lang und beschreibend ist.
Es wird auch als bezeichnet Iterierbares Entpackenoder im Fall von **
,
Wörterbuch entpacken.
-
Ich habe in ungefähr 10 Jahren der Verwendung von Python noch nie “Splat” gehört / gesehen.
– Joe Koberg
23. Februar 2010 um 23:00 Uhr
-
Nun, in Python ist es auch daran gewöhnt Pack Argumentlisten, so sollte es in diesem Zusammenhang heißen unsplatt? 🙂
– John LaRooy
23. Februar 2010 um 23:17 Uhr
-
@ THC4k schlage ich vor
splatsplat
.– Josh Lee
7. April 2010 um 0:57 Uhr
-
Leider hat INTERCAL nicht
*
als Betreiber fehlt uns also eine offizielle Quelle…– Wbeere
17. Juli 2013 um 23:33 Uhr
-
Ich nenne es “Positionserweiterung”, im Gegensatz zu **
die ich “Keyword-Erweiterung” nenne.
Danilo Piazzalunga
Das Python-Tutorial nennt es einfach ‘the *
-Operator’. Es führt das Entpacken von durch willkürliche Argumentlisten.
-
Dies ist die genaueste Antwort und es ist eine Schande, dass sie nicht akzeptiert wurde!
– Nir Alfasi
21. November 2015 um 4:19 Uhr
-
@alfasin: Der Ausdruck ‘the
*
-operator’ ist da mehrdeutig*
kann – je nach Kontext – entweder eine Argumenterweiterung oder eine Multiplikation ausführen, was zwei verschiedene Operationen sind.– Hallo Auf Wiedersehen
7. Februar 2017 um 13:53 Uhr
-
@HelloGoodbye und es ist wirklich nicht schwer zu verstehen, um welches es sich aus dem Kontext handelt, in dem es sich befindet.
– Nir Alfasi
7. Februar 2017 um 18:22 Uhr
-
Scheint, als hätte das OP gefragt, wie man es ausspricht (was ein Wort selbst sein kann oder auch nicht – das ist ein weiteres Kaninchenloch).
*
. Indem Sie sagen, es ist die*-operator
wirft die Frage einfach als Antwort zurück. OP wollte wahrscheinlich wissen, wie man es laut (oder in seinem Kopf) sagt, wenn er darauf stößt. Das ist alles neu für mich, und ich werde mit “Splat!” gehen.– elPastor
23. März 2019 um 19:09 Uhr
John LaRooy
Ich sage “Star-Args” und die Python-Leute scheinen zu wissen, was ich meine.
**
ist kniffliger – ich denke nur “qargs”, da es normalerweise als verwendet wird **kw
oder **kwargs
Man kann auch anrufen *
a Parameter sammeln (bei Verwendung in der Definition von Funktionsargumenten) oder a Scatter-Operator (bei Verwendung beim Funktionsaufruf).
Wie hier zu sehen: Denken Sie an Python/Tupel/Argumenttupel mit variabler Länge.
-
aber Sie können nicht sammeln oder zerstreuen, wie Sie es mit SPLAT können: D
– Samantha Branham
29. März 2018 um 1:57 Uhr
-
@SamanthaBranham Mir gefällt, wie Gathering und Scatter einfach und deutlich visualisiert werden können. Splat visualisiert natürlich auch super 😂💥
– Anton Strogonoff
29. März 2018 um 2:49 Uhr
Gemeinschaft
Ich glaube, es wird am häufigsten als “Splat-Operator” bezeichnet. Argumente auspacken ist das, was es tut.
-
aber Sie können nicht sammeln oder zerstreuen, wie Sie es mit SPLAT können: D
– Samantha Branham
29. März 2018 um 1:57 Uhr
-
@SamanthaBranham Mir gefällt, wie Gathering und Scatter einfach und deutlich visualisiert werden können. Splat visualisiert natürlich auch super 😂💥
– Anton Strogonoff
29. März 2018 um 2:49 Uhr
James Tomasino
Der Fachbegriff dafür ist a Variadische Funktion. In gewisser Weise ist das also der richtige Begriff, unabhängig von der Programmiersprache.
Allerdings hat der Begriff in verschiedenen Sprachen legitime Namen. Wie andere bereits erwähnt haben, wird es in “Splat” genannt Rubin, Julia, und mehreren anderen Sprachen und wird unter diesem Namen in der offiziellen Dokumentation vermerkt. In Javascript heißt es die “Spread”-Syntax. Es hat viele andere Namen in vielen anderen Sprachen, wie in anderen Antworten erwähnt. Wie auch immer Sie es nennen, es ist ziemlich nützlich!
Javascript hat das Äquivalent Verbreitung
...
Operator.– Wolfgang Kühn
31. Dezember 2016 um 14:04 Uhr
Nur als Referenz, in C++ heißt es Dereferenzierungsoperator (ref: cplusplus.com/doc/tutorial/pointers). Darüber hinaus werden in Python alle zu funktionierenden Variablen (Argumente) per Zuweisung übergeben. (ref: docs.python.org/3/faq/…)
– Wolke Cho
23. März 2021 um 4:17 Uhr
@CloudCho Das in C++ steht für etwas ganz anderes.
– Sнаđошƒаӽ
6. Juni 2021 um 15:37 Uhr
@Sнаđошƒаӽ Würden Sie den Unterschied zwischen Dereferenzierungsoperator (C++) und Entpackungsoperator (Python) beschreiben? Ich dachte, beide beziehen sich eher auf den Speicherort als auf den Wert des Gedächtnisses. Vielen Dank.
– Wolke Cho
9. Juni 2021 um 18:02 Uhr
@CloudCho Werfen Sie einen Blick auf die amtliche Dokumentation.
– Sнаđошƒаӽ
10. Juni 2021 um 3:47 Uhr