17.12.2012 Views

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Homogénéisation par coerce()<br />

>>> coerce(1, 2.5)<br />

(1.0, 2.5)<br />

>>> coerce('b', 'a')<br />

Traceback (most recent call last):<br />

File "", line 1, in ?<br />

TypeError: number coercion failed<br />

Les primitives<br />

CHAPITRE 6<br />

compile : compile(source, fichier, mode[, flags[, dont_inherit]]) -> objet<br />

code<br />

Python permet de compiler à la volée du code source. Le résultat de cette compilation<br />

est ensuite interprétable par le biais des primitives exec() ou eval().<br />

Les paramètres sont :<br />

source : une chaîne de caractères contenant le code, que ce soit le texte complet<br />

d’un module, une expression ou une suite de lignes.<br />

fichier : fichier recueillant les messages des erreurs éventuellement survenues<br />

lors de compilation.<br />

mode : chaîne de caractères pouvant prendre les valeurs exec, single ou eval :<br />

– exec : pour compiler les modules.<br />

– single : pour compiler une série d’instructions.<br />

– eval : pour compiler une expression.<br />

flags : permet de faire varier le fonctionnement du compilateur en intégrant des<br />

clauses du module __future__.<br />

dont_inherit : si cet entier est différent de zéro et si le code qui appelle<br />

compile() possède des appels à des directives du module __future__, leur effet<br />

est bloqué. Si dont_inherit vaut zéro ou n’est pas spécifié, le code appelé par<br />

compile() hérite de l’effet.<br />

Compilation sous Linux<br />

>>> byte_code = compile("print('Je suis vivant !!!')", '/dev/null',<br />

'single')<br />

>>> byte_code<br />

<br />

>>> exec(byte_code)<br />

Je suis vivant !!!<br />

Voir aussi : eval, execfile.<br />

157

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

Saved successfully!

Ooh no, something went wrong!