comment avoir en argument un *args par default
quelquechose comme ça
Code:def myFn(id, *args=('-1,-1','40,15',30,3,0,11,1,0,'','0')):
Version imprimable
comment avoir en argument un *args par default
quelquechose comme ça
Code:def myFn(id, *args=('-1,-1','40,15',30,3,0,11,1,0,'','0')):
Peut-être comme ceci ?
Code:
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:
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:
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
Bonjour,
En fait, moi non plus. Je ne savais pas que ce brouillon d'inepties avait atterri sur le forum.
Il vas falloir que je fasse attention à ce que je laisse à l'écran sous peine de ridicule, et je suis déjà assez fort dans ce sens.
Mes excuses pour le dérangement ____22