Wie lautet der korrekte Name für Operator *
, wie in function(*args)
? entpacken, entpacken, etwas anderes?Eigenname für Python * -Operator?
Antwort
In Ruby und Perl 6 wurde dies "splat" genannt, und ich denke, die meisten Leute aus diesen Communities werden herausfinden, was Sie meinen, wenn Sie es so nennen.
Die Python tutorial verwendet den Ausdruck "Entpackungsargumentlisten", der lang und beschreibend ist. Ich habe in Python keinen anderen Namen dafür gehört.
Gibt es auch einen Namen für '**', oder ist es nur für Python? –
nie einmal "splat" in etwa 10 Jahren mit Python gehört/gesehen. –
Nun in Python wird es auch verwendet, um ** Argumentlisten zu packen, also sollte es in diesem Kontext ** unplat ** heißen? :) –
Ich glaube, es wird am häufigsten als "Splat-Operator" bezeichnet. Unpacking arguments ist was es tut.
Die Python Tutorial nennt es einfach "*
-Operator". Es führt das Auspacken von arbitrary argument lists aus.
Dies ist die genaueste Antwort und es ist eine Schande, dass es nicht akzeptiert wurde! – alfasin
@alfasin: Der Ausdruck 'der '*' -Operator' ist mehrdeutig, da '*' - abhängig vom Kontext - entweder eine Argument-Erweiterung oder eine Multiplikation ausführen kann, die zwei verschiedene Operationen sind. – HelloGoodbye
@HelloGoodbye und es ist wirklich nicht schwer zu verstehen, welche es aus dem Kontext ist es ist. – alfasin
Ich sage "Star-Args" und Python Leute scheinen zu wissen, was ich meine.
**
ist schwieriger - ich denke nur, „qargs“, da es in der Regel als **kw
oder **kwargs
Ich sage auch nur 'kwargs', obwohl das nicht wirklich auf den Betreiber beziehen ich nehme an. –
Ich nenne es „Positions Expansion“ verwendet wird, im Gegensatz zu **
, die ich „Keyword-Erweiterung“ nennen.
Doppel-Splat, haha. –
Ich nenne * args "star args" oder "varargs" und ** kwargs "keyword args".
Man kann auch nennen *
ein Parameter sammeln (wenn in Funktionsargumente Definition verwendet) oder ein scatter Operator (wenn bei Funktionsaufruf verwendet).
Wie hier zu sehen: Think Python/Tuples/Variable-length argument tuples.
- 1. Eigenname für Spalten in einer Join-Tabelle
- 2. Google Forms regex Validierung für Eigenname
- 3. Python-Operator, kein Operator für "nicht in"
- 4. plus/minus Operator für Python ±
- 5. Overload() -Operator in Python
- 6. Python-Operator-Priorität
- 7. Boost Python Overload Operator()
- 8. Python: Ternary Operator Syntaxfehler
- 9. ++ i-Operator in Python
- 10. Python ternäre Operator
- 11. Operator Python Parameter
- 12. Python "in" Operator Geschwindigkeit
- 13. Bedingter Operator in Python?
- 14. Python nicht gleich Operator
- 15. Operator + = in Python für __setitem__ (zusätzlich anstelle für eckige Klammern)
- 16. Erstellen "**" Power-Operator für Scala?
- 17. Alternative für ‚in‘ Operator für verschachtelte Listen
- 18. = + Python-Operator ist syntaktisch korrekt
- 19. Implementierung Kreuzung Operator für eine Set-wie-Klasse in Python
- 20. Python: Warum Operator "ist" und "==" sind manchmal für Zeichenfolgen austauschbar?
- 21. Faustregeln für als Operator verwenden in Python Überlastung
- 22. In Python gibt es eine Funktion für den "in" -Operator
- 23. Overloading Operator == für null
- 24. Neudefinition von "für" -Operator
- 25. % Operator für die Zeitberechnung
- 26. sizeof() Operator für Typen
- 27. overloading operator() für set
- 28. Operator überlastet für Manipulatoren
- 29. Gibt es in Python einen "ungleich" Operator?
- 30. Gibt es in Python einen logischen Operator?
Javascript hat das Äquivalent ** Spread ** '...' Operator. –