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
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
Partager