Introduction générale▲
L'auteur de ce tutoriel s'est retrouvé, un soir de septembre, à une réunion de parents d'élèves de seconde où la professeur de mathématiques, après avoir annoncé une initiation à l'algorithmique avec Python, s'est empressée, fort honnêtement, d'ajouter « ne me demandez pas de vous en parler, on est en train de nous former ». L'auteur de ces lignes, un quart de siècle d'informatique au compteur, auteur d'ouvrages informatiques et relativement accoutumé à former via classes et séminaires dans différents pays, a soudainement réalisé que l'on pouvait être un excellent professeur de maths sans se sentir nécessairement très à l'aise en informatique. Et que son expérience de consultant, plus particulièrement spécialisé dans les performances des bases de données, avait développé chez lui des réflexes qui faisaient défaut à la plupart des enseignants, aussi consciencieux et bien intentionnés soient-ils. Il s'est donc attelé à expliquer à sa manière et aussi clairement que possible, bien sûr le langage Python et ses particularités, mais surtout le B-A BA de l'informatique en évitant soigneusement les vieux classiques tels que le tri à bulles (inefficace) et l'explication de la récursion par la factorielle (il en parle, juste pour expliquer pourquoi c'est un mauvais exemple), en espérant être utile tant à ceux qui enseignent qu'à ceux qui cherchent à apprendre - et, tant qu'à faire, distrayant et intéressant. Parti avec l'idée de faire le tour du sujet en cinq ou six modules de 10 minutes, il s'est laissé un peu emporter...
Au secours, j'utilise Python 3.x !!▲
Les Pythonneries utilisent une version 2.x de Python, toujours très répandue et pas du tout obsolète. Ceci dit, peut-être n'avez-vous à votre disposition qu'une version 3.x de Python ? Pas de panique ! Les Pythonneries sauront vous guider, moyennant quelques adaptations.
Il y a un certain nombre d'incompatibilités entre les versions 2.x et 3.x de Python, dont le détail (en anglais) se trouve ici (merci à FaireEtDefaire pour le lien).
Dans le cadre particulier des Pythonneries, qui n'explorent qu'une petite partie du langage (c'est davantage une initiation à l'informatique avec Python qu'un cours Python à proprement parler), il y a deux choses à modifier par rapport aux vidéos si vous utilisez Python 3.x:
Les Pythonneries utilisent soit <>, soit != pour signifier "différent". Les deux sont acceptés en Python 2.x. Seul != est valide en Python 3.x.
Dans les Pythonneries l'affichage de A se fait avec
print
A
et celui de A et B avec
print
A, B
Avec Python 3.x cela devient respectivement
print
(
A)
et
print
(
A, B)
Et voilà tout. Le point le plus délicat concerne la partie "interfaces graphiques" (Pythonneries 20, 21 et 22, ainsi que 26 à 29) qui emploie une bibliothèque nommée WxPython qui, au moins en Juin 2011, n'est pas disponible pour Python 3.x. Je vous recommande d'utiliser la bibliothèque concurrente PyQt qui l'est. Vous ne perdrez pas votre temps à regarder comment on fait avec WxPython, parce que, dans l'esprit, c'est très proche et les explications tentent toujours d'être générales. Pour les subtilités propres à PyQt, et une manière de coder moins "manuelle" que ce qui est proposé dans les Pythonneries, vous pouvez vous reporter à ce cours.
En espérant vous donner le goût de l'informatique et d'en apprendre davantage...