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.

File "", line 1<br />

print 'Bonjour'<br />

^<br />

SyntaxError: invalid syntax<br />

Syntaxe du langage<br />

CHAPITRE 4<br />

Le programme de conversion 2to3, présenté au chapitre 8, permet de transformer le<br />

code d’un programme Python 2 en syntaxe compatible avec Python 3. Il ne permet<br />

cependant pas de gérer la conversion de l’utilisation de print de manière optimale, et<br />

se contente d’ajouter des parenthèses.<br />

Transformations de print par 2to3<br />

>>> print "du texte" # Python 2<br />

>>> print("du texte") # Apres transformation avec 2to3<br />

>>> print ("du", "texte") # Python 2<br />

>>> print(("du", "texte" )) # Apres transformation avec 2to3<br />

Dans le deuxième cas, le programme de conversion est incapable de différencier si<br />

print est utilisé comme instruction ou comme fonction, et doublera les parenthèses.<br />

Il est possible de fournir à 2to3 une option pour traiter print comme une fonction,<br />

et une bonne pratique consiste à écrire des programmes qui utilisent cette nouvelle<br />

syntaxe, en incluant un appel à __future__.print_function.<br />

Utilisation de print comme une fonction, avec Python 2<br />

$ python2.6<br />

Python 2.6.1 (r261:67515, Dec 6 2008, 16:42:21)<br />

[GCC 4.0.1 (Apple Computer, Inc. build 5370)] on darwin<br />

Type "help", "copyright", "credits" or "license" for more information.<br />

>>> from __future__ import print_function<br />

>>> print 'ok'<br />

File "", line 1<br />

print 'ok'<br />

^<br />

SyntaxError: invalid syntax<br />

>>> print('Je fais comme Python 3!')<br />

Je fais comme Python 3!<br />

Le passage à Python 3 est ainsi facilité.<br />

BONNE PRATIQUE print comme fonction<br />

Les exemples du livre utilisent print comme fonction, puisque c’est devenu une bonne pratique sous<br />

Python 2.<br />

51

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

Saved successfully!

Ooh no, something went wrong!