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.

Structuration du code<br />

CHAPITRE 5<br />

>>> home('Tarek')<br />

{'name': 'Tarek'}<br />

Bonjour Tarek<br />

>>> print(globals())<br />

{'__builtins__': , '__name__':<br />

'__main__', 'home': , '__doc__': None,<br />

'name': 'Joe'}<br />

Pour pouvoir contourner cette limitation il est nécessaire d’utiliser la directive global<br />

qui permet de spécifier que la variable est dans le contexte global.<br />

Utilisation de la directive global<br />

>>> identity = 'Joe Bie'<br />

>>> def home(firstname, lastname):<br />

... global identity<br />

... identite = '%s %s' %(firstname, lastname)<br />

... print(locals())<br />

... print(identity)<br />

...<br />

>>> home('Joe', 'Bae')<br />

{'firstname': 'Joe', 'lastname': 'Bae'}<br />

Joe Bae<br />

>>> print(identity)<br />

Joe Bae<br />

Directive return<br />

Il n’y a pas de distinction entre les fonctions et les procédures en Python, contrairement<br />

à certains langages fortement typés comme Ada. Les procédures sont tout simplement<br />

des fonctions qui ne renvoient pas de résultat comme en C. Plus précisément,<br />

une fonction qui ne renvoie pas explicitement de valeur renvoie un objet None.<br />

Lorsqu’une fonction doit renvoyer un résultat explicite, la directive return est utilisée.<br />

Utilisation de return<br />

>>> def double(number):<br />

... return number*2<br />

...<br />

>>> double(5)<br />

10<br />

>>> def sequence(start, stop, step):<br />

... return range(start, stop, step)<br />

>>> sequence(2, 7, 1)<br />

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

99

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

Saved successfully!

Ooh no, something went wrong!