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.

Combinaison de paramètres explicites et non explicites<br />

>> def team(name, leader='non défini', **players):<br />

... print('Equipe %s' % name<br />

... print('Capitaine: %s' % leader)<br />

... for name, value in players.items():<br />

... print('%s: %s' % (name, value))<br />

...<br />

>>> team('Les bleus')<br />

Equipe Les bleus<br />

Capitaine: non défini<br />

>>> team('Les vaillants', 'Robert', gardien='André',<br />

attaquant='Micheline')<br />

Equipe Les vaillants<br />

Capitaine: Robert<br />

attaquant: Micheline<br />

gardien: André<br />

ASTUCE Utiliser un dictionnaire<br />

Les paramètres arbitraires<br />

Structuration du code<br />

CHAPITRE 5<br />

Le dictionnaire players peut aussi être directement fourni.<br />

L’écriture :<br />

team('Nom', 'Capitaine', gardien='André', attaquant='Micheline')<br />

étant équivalente à :<br />

players = {gardien: 'André', attaquant: 'Micheline'}<br />

team('Nom', 'Capitaine', **players)<br />

Les paramètres arbitraires sont équivalents aux paramètres non explicites sauf qu’ils<br />

ne sont pas nommés. L’interpréteur les regroupe dans un tuple nommé qu’il passe à<br />

la fonction. Le nom du tuple est fourni préfixé cette fois-ci d’une seule étoile.<br />

Paramètres arbitraires<br />

>>> def format(sentence, *args):<br />

... print(sentence % args)<br />

...<br />

>>> format('%d fois plus de %s possibles', 2, 'combinaisons')<br />

2 fois plus de combinaisons possibles<br />

Lorsque des paramètres arbitraires sont combinés avec des paramètres explicites ou<br />

non explicites, la déclaration du nom du tuple qui contiendra les valeurs se place toujours<br />

après les paramètres explicites et avant les paramètres non explicites.<br />

103

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

Saved successfully!

Ooh no, something went wrong!