-
Sujet
-
Bonjour,
généralement, la première chose que vous apprenez en python, c’est la commande print.
Vous faites votre programme hello world, facile, simple, efficace.
Cependant, il y a une fonctionnalité qu’exploite print et qui n’est pas vraiment connu de tous en python : comment permettre que notre fonction puisse accepter une infinité de paramètre ?
Exemple :
si je fais :
print("hello world")
ou
print("hello", "world")
j’obtiendrai le même résultat. Mais comment se fait il que print puisse accepter un paramètre dans le premier cas et deux dans le second ?
C’est ce que je vais vous présenter.
Cette technique est extremement simple : il suffit de mettre un * devant un des paramètre et celui recevra tous les paramètres qu’on lui donnera et les transformera en une liste de paramètre.
Exemple:
>>> def exemple(*param): print(param) >>> exemple(2) (2,) >>> exemple(2, 3, 5, "hello") (2, 3, 5, 'hello')
On peut même refaire un peu print (j’ai utilisé sys pour pouvoir écrire des choses à l’écran quand même) :
>>> import sys >>> def print2(*content, end="\n", sep=" "): for i in content: sys.stdout.write(i) sys.stdout.write(sep) sys.stdout.write(end) >>> print2("hello world") hello world >>> print2("hello", "world") hello world
Voilààà !
- Vous devez être connecté pour répondre à ce sujet.