Comments on: L’opérateur splat (l’étoile: *) en Python http://sametmax.com/operateur-splat-ou-etoile-en-python/ Deux développeurs en vadrouille qui se sortent les doigts du code Wed, 05 Feb 2014 12:15:31 +0000 hourly 1 http://wordpress.org/?v=3.3.1 By: furankun http://sametmax.com/operateur-splat-ou-etoile-en-python/#comment-16209 furankun Tue, 26 Nov 2013 14:14:57 +0000 http://sametmax.com/?p=173#comment-16209 merci pour les explications, et merci pour le premier commentaire, ça décomplexe vachement! Je me sens très proche de Max pour le coup (mais c'est pas vraiment une surprise). merci pour les explications, et merci pour le premier commentaire, ça décomplexe vachement! Je me sens très proche de Max pour le coup (mais c’est pas vraiment une surprise).

]]>
By: Policier Moustachu http://sametmax.com/operateur-splat-ou-etoile-en-python/#comment-6698 Policier Moustachu Wed, 06 Mar 2013 18:06:31 +0000 http://sametmax.com/?p=173#comment-6698 ok, cool. ok, cool.

]]>
By: Sam http://sametmax.com/operateur-splat-ou-etoile-en-python/#comment-6691 Sam Wed, 06 Mar 2013 16:20:28 +0000 http://sametmax.com/?p=173#comment-6691 On ne peut pas unpacker une liste dans une liste. Ce code peut néanmoins être réécrit ainsi: <pre lang="python">plus_de_couleurs = [rouge] + couleurs</pre> On ne peut pas unpacker une liste dans une liste.

Ce code peut néanmoins être réécrit ainsi:

plus_de_couleurs = [rouge] + couleurs
]]>
By: Policier Moustachu http://sametmax.com/operateur-splat-ou-etoile-en-python/#comment-6687 Policier Moustachu Wed, 06 Mar 2013 14:52:12 +0000 http://sametmax.com/?p=173#comment-6687 Merci pour ce site, vous êtes en train de refaire mon éducation python. Une petite précision: l'unpacking ne marche que pour unpacker une liste dans les paramètres d'une fonction. On ne peut pas l'utiliser pour unpacker une liste dans une assignation de variable. exemple : couleurs = [jaune, blanc, bleu] plus_de_couleurs = [rouge, *couleurs] Il est impossible d'exécuter ce code ! Tout du moins en Jython. Je n'ai pas vérifié en python. Merci pour ce site, vous êtes en train de refaire mon éducation python.

Une petite précision: l’unpacking ne marche que pour unpacker une liste dans les paramètres d’une fonction.
On ne peut pas l’utiliser pour unpacker une liste dans une assignation de variable.

exemple :
couleurs = [jaune, blanc, bleu]
plus_de_couleurs = [rouge, *couleurs]

Il est impossible d’exécuter ce code !
Tout du moins en Jython. Je n’ai pas vérifié en python.

]]>
By: Julien http://sametmax.com/operateur-splat-ou-etoile-en-python/#comment-5510 Julien Fri, 25 Jan 2013 10:59:46 +0000 http://sametmax.com/?p=173#comment-5510 ENFIN une explication claire, le **kwargs et le *args à la portée du commun des mortels ! ENFIN une explication claire, le **kwargs et le *args à la portée du commun des mortels !

]]>
By: Sam http://sametmax.com/operateur-splat-ou-etoile-en-python/#comment-3864 Sam Tue, 04 Dec 2012 13:47:26 +0000 http://sametmax.com/?p=173#comment-3864 De rien mon cher syl De rien mon cher syl

]]>
By: Syl http://sametmax.com/operateur-splat-ou-etoile-en-python/#comment-3862 Syl Tue, 04 Dec 2012 12:20:57 +0000 http://sametmax.com/?p=173#comment-3862 Merci les mecs, j'ai enfin compris l'utilité de *args et **kwargs! Jusqu'à maintenant, je n'étais tombé que sur des explications plus ou moins bidons, là au moins, c'est clair! Merci les mecs, j’ai enfin compris l’utilité de *args et **kwargs!

Jusqu’à maintenant, je n’étais tombé que sur des explications plus ou moins bidons, là au moins, c’est clair!

]]>
By: Sam http://sametmax.com/operateur-splat-ou-etoile-en-python/#comment-1642 Sam Thu, 30 Aug 2012 23:26:19 +0000 http://sametmax.com/?p=173#comment-1642 La signature dit: - j'ai un seul argument obligatoire; - j'ai un argument facultatif dont la valeur par défaut est 1; - j'accepte un nombre infini d'arguments. On peut donc appeler fun3 ainsi: - fun3(1) - fun3(1, 2) - fun3(1, 2, 3, ...) C'est un signature tout à fait sensée, et souple pour une fonction: elle assure un minimum de deux arguments, force l'utilisateur à décider le premier argument et autorise l'infini. La signature dit:

- j’ai un seul argument obligatoire;
- j’ai un argument facultatif dont la valeur par défaut est 1;
- j’accepte un nombre infini d’arguments.

On peut donc appeler fun3 ainsi:

- fun3(1)
- fun3(1, 2)
- fun3(1, 2, 3, …)

C’est un signature tout à fait sensée, et souple pour une fonction: elle assure un minimum de deux arguments, force l’utilisateur à décider le premier argument et autorise l’infini.

]]>
By: François http://sametmax.com/operateur-splat-ou-etoile-en-python/#comment-1641 François Thu, 30 Aug 2012 22:21:04 +0000 http://sametmax.com/?p=173#comment-1641 Tout à fait. Donc, la signature suivante <code>fun3(a, b=1, *arg)</code> n'a pas vraiment de sens puisque *arg ne pourra rien recevoir ou bien il faut laisser b à la valeur par défaut si on veut passer des choses à *arg. Je ne vois pas comment on peut passer un b différent et des valeurs à *arg... Tout à fait. Donc, la signature suivante
fun3(a, b=1, *arg) n’a pas vraiment de sens puisque *arg ne pourra rien recevoir ou bien il faut laisser b à la valeur par défaut si on veut passer des choses à *arg.
Je ne vois pas comment on peut passer un b différent et des valeurs à *arg…

]]>
By: Sam http://sametmax.com/operateur-splat-ou-etoile-en-python/#comment-1639 Sam Thu, 30 Aug 2012 14:59:00 +0000 http://sametmax.com/?p=173#comment-1639 Dans le snippet fournit, la seule erreur est à la dernière ligne: <pre lang="python"> fun3(1, b=42, 4242)</pre> Python n'autorise pas <code>4242</code> après <code>b=42</code>. Ca n'est pas lié à <code>*args</code> ou <code>**kwargs</code>, c'est comme ça pour toutes les fonctions. Dans le snippet fournit, la seule erreur est à la dernière ligne:

fun3(1, b=42, 4242)

Python n’autorise pas 4242 après b=42. Ca n’est pas lié à *args ou **kwargs, c’est comme ça pour toutes les fonctions.

]]>