Bien installer son environnement Python
InstallerSousWindows : mettre en place son environnement pour MS Windows.
InstallerSousLinux : mettre en place son environnement pour GNU/Linux.
InstallerSousMacos : mettre en place son environnement pour MacOS.
Et de façon générale vous pourrez remplacez l'intepréteur python disponible par défaut par une version améliorée: ipython http://ipython.scipy.org/
Tutoriaux en français
Voici une liste de site mettant en ligne des tutoriaux sur Python:
Traductions du tutoriel Python officiel: http://lfe.developpez.com/tutoriel/python/ ou http://perso.club-internet.fr/olberger/python/doc/tut/tut.html
Initiation à la programmation avec Python: http://python.developpez.com/cours/yvesbailly/initiationpython/
Cours de programmation Python: http://www.ulg.ac.be/cifen/inforef/swi/python.htm
J'apprend à programmer avec Python: http://www.p3b.org/tutor/denis/
Python est mon ami: http://ludovic.pinelli.free.fr/Python/Python_ami.html
PyDoc: http://etudiant.epitech.net/~duponc_j/articles/pydoc.html
Problèmes ?
Il me parle d'encoding
Python me dit: {{{"sys:1: DeprecationWarning: Non-ASCII character '\xe9' in file a.py on line 4, bu t no encoding declared; see http://www.python.org/peps/pep-0263.html for details"}}} Pourquoi ?
Les caractères accentués (comme é à ou ô) ne font pas partie du code ASCII. Or depuis Python 2.3, il est obligatoire de déclarer quel charset vous utilisez pour représenter ces caractères.
Il vous suffit d'ajouter ceci en première ou seconde ligne de votre programme Python: {{{# -*- coding: iso-8859-1 -*- }}}
Et vous n'aurez plus ce message.
Pour ne pas avoir à spécifier l'encoding, vous pouvez également travailler en UTF-8, un format de fichier que Python sait parfaitement reconnaître (Vous trouverez quelques éditeurs de texte gratuits supportant l'UTF-8, comme PSPad sous Windows).
Il me dit UnicodeEncodeError: 'ascii' codec can't encode...
Même si vous avez spécifié l'encoding pour votre document, le codage par défaut des chaînes reste 'ascii'. Vous pouvez le vérifier en faisant
>>> import sys >>> sys.getdefaultencoding()
Lorsque vous effectuer certaines opérations (sur les string le plus souvent), c'est ce codage par défaut qui est utilisé. D'où ce message d'erreur. Pour pouvoir toujours utiliser des caractères accentués, deux solutions:
- Modifier l'encodage par défaut. Pour cela, dans /usr/lib/python2.X/site-packages,
créer un fichier sitecustomize.py qui contient les lignes :
- Cela a le fort inconvénient de modifier l'encodage pour l'ensemble des modules Python.
- Utiliser des chaînes Unicode, qui gèrent correctement les caractères accentués,
et effectuer les encodages lorsque c'est nécessaire (voir JouerAvecUnicode).
Il me parle de 'FutureWarning'
Python me dit: {{{a.py:8: FutureWarning: hex/oct constants > sys.maxint will return positive value s in Python 2.4 and up
- valeur = 0xBF553C88}}}
Pourquoi ?
Vous utilisez une fonctionnalité de Python dont le comportement changera en Python 2.4. Vos programmes risquent de ne plus fonctionner en Python 2.4. Vous devez les modifier.
Dans notre problème particulier (hex/oct constants), nous devons préciser le type de notre variable:
valeur = 0xBF553C88L
(Nous avons ajouté L pour indiquer à Python que c'est un entier long.)