17.12.2012 Views

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

102<br />

Éléments du langage<br />

DEUXIÈME PARTIE<br />

>>> def add_element(element, list_=param()):<br />

... list_.append(element)<br />

... return list_<br />

...<br />

param() appelé<br />

>>> add_element(4)<br />

[1, 2, 3, 4]<br />

>>> add_element(5)<br />

[1, 2, 3, 4, 5]<br />

>>> def param():<br />

... print('param() appelé')<br />

... return [5]<br />

...<br />

>>> add_element(8)<br />

[1, 2, 3, 4, 5, 8]<br />

Les paramètres non explicites<br />

Python propose un système de paramètres non explicites qui permet de laisser l’appelant<br />

fournir autant de valeurs nommées qu’il le souhaite sans qu’il soit nécessaire de<br />

les définir dans la liste des arguments. Ces paramètres sont fournis sous la forme<br />

nom=valeur à la fonction. L’interpréteur place ces valeurs dans un dictionnaire qu’il<br />

faut au préalable définir en fin de liste par son nom précédé de deux étoiles :<br />

Utilisation de paramètres non explicites<br />

>>> def sentence(**words):<br />

... print ('Reçu %d mot(s)' % len(words))<br />

... print ('Liste des mots: %s' % ' '.join(words.values()))<br />

... print ('Nom des paramètres: %s' % ' '.join(words.keys()))<br />

...<br />

>>> sentence(mot1='mot 1', mot2='mot2')<br />

Reçu 2 mot(s)<br />

Liste des mots: mot 1 mot2<br />

Nom des paramètres: mot1 mot2<br />

>>> sentence(encore="des mots", toujours="des mots")<br />

Reçu 2 mot(s)<br />

Liste des mots: des mots des mots<br />

Nom des paramètres: encore toujours<br />

>>> sentence()<br />

Reçu 0 mot(s)<br />

Liste des mots:<br />

Nom des paramètres:<br />

Cette écriture offre un maximum de souplesse puisqu’elle peut être combinée avec les<br />

paramètres explicites.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!