richtiger Name für Python * Operator?

Lesezeit: 4 Minuten

Benutzer-Avatar
Irgendein Korn

Wie lautet der korrekte Name für Operator? *wie in function(*args)? entpacken, entpacken, noch etwas?

  • 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

Benutzer-Avatar
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

  • In JavaScript (es2015) ist es als bekannt Spread-Operator.

    – Kutyel

    20. Juni 2016 um 6:23 Uhr

Ich nenne es “Positionserweiterung”, im Gegensatz zu ** die ich “Keyword-Erweiterung” nenne.

Benutzer-Avatar
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

Benutzer-Avatar
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


Benutzer-Avatar
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


Benutzer-Avatar
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!

1059780cookie-checkrichtiger Name für Python * Operator?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy