comment avoir en argument un *args par default
quelquechose comme ça
Code : Sélectionner tout - Visualiser dans une fenêtre à part def myFn(id, *args=('-1,-1','40,15',30,3,0,11,1,0,'','0')):
comment avoir en argument un *args par default
quelquechose comme ça
Code : Sélectionner tout - Visualiser dans une fenêtre à part def myFn(id, *args=('-1,-1','40,15',30,3,0,11,1,0,'','0')):
Peut-être comme ceci ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 def myFn(id, *args): if not args: args = ('-1,-1','40,15',30,3,0,11,1,0,'','0')
Bonsoir,
Les fonctions sont sur le même principe que l'__init__ des classes, soit (définition des constantes, variables).
Un exemple:
Sortie:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 def test(a=1, b=2, *args): if args: if a in agrs: a=a if b in args: b=b print a, b test() test(a=5) test(a=10, b=20)
Cela ne fonctionne pas avec les listes/dicos/tuples car la constante doit être dans le namespace local (soit (untuple(a,b)) > UnboundLocalError: local variable 'a' referenced before assignment).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 1 2 5 2 10 20
Bon code
Merci d'utiliser le forum pour les questions techniques.
Salut PauseKawa
Je ne comprends pas ce que tu racontes.
Comment la condition if args peut être "vraie" si on appelle test avec moins de 3 paramètres.
- W
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager