Quel est le nom correct de l'opérateur *
, comme dans function(*args)
? unpack, unzip, quelque chose d'autre ?
Je n'ai jamais vu ni entendu parler de "splat" en 10 ans d'utilisation de Python.
Quel est le nom correct de l'opérateur *
, comme dans function(*args)
? unpack, unzip, quelque chose d'autre ?
En Ruby et Perl 6, cela a été appelé "splat", et je pense que la plupart des gens de de ces communautés comprendront ce que vous voulez dire si vous l'appelez ainsi.
El Tutoriel Python utilise l'expression "déballer les listes d'arguments", qui est longue et descriptive.
Il est également appelé déballage itérable ou dans le cas de **
, déballage du dictionnaire .
Eh bien, en python, il est également utilisé pour paquet des listes d'arguments, donc dans ce contexte, il devrait être appelé désassembler ? :)
El Tutoriel Python l'appelle simplement "le *
-opérateur'. Il effectue le déballage de listes d'arguments arbitraires .
@alfasin : L'expression "le *
-L'expression "opérateur" est ambiguë car *
- selon le contexte - peut effectuer une expansion ou une multiplication des arguments, qui sont deux opérations différentes.
@HelloGoodbye et il n'est vraiment pas difficile de comprendre de laquelle il s'agit à partir du contexte dans lequel elle se trouve.
On peut aussi appeler *
a paramètre de collecte (lorsqu'il est utilisé dans la définition des arguments de la fonction) ou un opérateur de diffusion (lorsqu'il est utilisé lors de l'invocation d'une fonction).
Comme vu ici : Pensez Python/Tuples/Les tuples d'arguments de longueur variable .
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
15 votes
Javascript a l'équivalent spread
...
opérateur.0 votes
Pour mémoire, en C++, il s'agit de l'opérateur de déréférencement (ref : cplusplus.com/doc/tutorial/pointeurs ). De plus, en Python, toutes les variables des fonctions (arguments) sont transmises par affectation. (réf : docs.python.org/3/faq/ )
0 votes
@CloudCho Celui en C++ représente quelque chose de complètement différent.
0 votes
@Sƒ Pourriez-vous décrire la différence entre l'opérateur de déréférencement (C++) et l'opérateur de déballage (Python) ? Je pensais que les deux concernaient l'emplacement de la mémoire plutôt que la valeur en mémoire. Merci.
0 votes
@CloudCho Jetez un coup d'oeil au documentation officielle .
0 votes
@Sƒ, Merci pour le lien. Je vois que le premier exemple avec * n'est pas lié à la mémoire, mais le deuxième exemple avec ** et la structure de données Dictionary semble différent. Lorsque je
print(*Dictionary)
il n'affiche que la clé dans le dictionnaire. Pouvez-vous nous donner des informations supplémentaires ? Merci.