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.

Directive lambda<br />

Structuration du code<br />

CHAPITRE 5<br />

Issue de langages fonctionnels comme le Lisp, la directive lambda permet de définir<br />

une fonction anonyme, c’est-à-dire sans nom. lambda est utilisée lorsqu’une fonction<br />

est à fournir dans une expression et permet d’éviter de la définir explicitement. Cette<br />

fonction doit cependant se limiter à une seule expression.<br />

Raccourci lambda<br />

>>> # fonction explicite<br />

...<br />

>>> elements = [1, 2, 3]<br />

>>> def add_one(e):<br />

... return e + 1<br />

...<br />

>>> map(add_one, elements)<br />

[2, 3, 4]<br />

>>> # équivalent avec lambda<br />

...<br />

>>> map(lambda e: e + 1, elements)<br />

[2, 3, 4]<br />

Mis à part quelques cas précis comme l’exemple présenté, lambda est à proscrire car<br />

cette directive rend le code difficilement lisible.<br />

Documentation strings (docstrings)<br />

Les objets docstrings sont des chaînes de caractères placées au début du corps des<br />

fonctions. Ils sont automatiquement associés à la variable __doc__ de l’objet fonction<br />

par l’interpréteur.<br />

Une fonction dotée d’un docstring<br />

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

... """Renvoie une approximation du nombre Pi."""<br />

... return 3.14<br />

...<br />

>>> print(pi.__doc__)<br />

Renvoie une approximation du nombre Pi.<br />

ou bien :<br />

>>> help(pi)<br />

Help on function pi in module __main__:<br />

pi()<br />

Renvoie une approximation du nombre Pi.<br />

(END)<br />

105

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

Saved successfully!

Ooh no, something went wrong!