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.

Syntaxe du langage<br />

CHAPITRE 4<br />

Un programme qui respecte cette convention pourra passer sans problème à la<br />

version 3 de Python, où le type unicode disparaît : les chaînes unicode deviennent des<br />

chaînes str sans préfixe grâce à une conversion automatique (avec le programme 2to3).<br />

Les chaînes bytes, quant à elles, deviennent directement des chaînes bytes Python 3.<br />

Pour résumer :<br />

Python 2.3 et inférieur – Les chaînes sont toutes stockées dans des objets de type<br />

str.<br />

Python 2.4 et Python 2.5 – Les chaînes sont stockées dans des objets de type str<br />

ou unicode, avec des méthodes de conversion. Les conventions suivantes sont<br />

adoptées :<br />

– Les chaînes de caractères dédiées à du texte utilisent le type unicode avec le<br />

préfixe u.<br />

– Les chaînes de données utilisent le type str sans préfixe.<br />

Python 2.6 – Le préfixe b fait son apparition et permet d’indiquer que la chaîne<br />

est de type bytes. C’est un synonyme de str. La chaîne sans préfixe reste aussi<br />

une chaîne str, et les chaînes unicode sont toujours présentes. Les conventions<br />

suivantes sont adoptées :<br />

– Les chaînes dédiées à du texte utilisent le type unicode avec le préfixe u.<br />

– Les chaînes de données utilisent de préférence le type bytes avec le préfixe b, afin<br />

de les différencier des chaînes de texte avec le test isinstance(texte, bytes).<br />

Python 3.0 et supérieur – Le type unicode disparaît et devient le type str, et le<br />

préfixe u est également retiré. Enfin, l’ancien type str devient le type bytes. Les<br />

conventions suivantes sont adoptées :<br />

– Les chaînes de caractères utilisent le type str sans préfixe.<br />

– Les chaînes ASCII classiques utilisent le type bytes avec le préfixe b.<br />

Caractères spéciaux<br />

Il est possible, comme avec le langage C, d’insérer des caractères spéciaux dans les<br />

littéraux. Le caractère antislash ou backslash (\), permet d’intégrer ces caractères afin<br />

qu’ils soient interprétés comme des commandes. Voici un tableau contenant la liste<br />

complète des caractères spéciaux disponibles en Python :<br />

Tableau 4–1 Caractères spéciaux pour le backslash<br />

Caractère Description Exemple<br />

' et " Guillemet simple ou double, permet<br />

d’éviter de casser l’enrobage d’une<br />

chaîne<br />

>>> print('l\'apostrophe')<br />

l'apostrophe<br />

57

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

Saved successfully!

Ooh no, something went wrong!