Table des matières

Python : quelques références, trucs et astuces

FIXME : à ajouter :


Python est un langage de programmation de haut niveau, libre, polyvalent, facilement accessible aux débutants, mais permettant aussi de réaliser des applications sophistiquées et professionnelles. Certains l'utilisent simplement comme langage de script, pour automatiser et faciliter différentes tâches informatiques.

Cette page est destinée à en faciliter l'apprentissage. Pour une introduction plus complète, cf. la page Python sur le site de Wikipedia en français ou la page en anglais !

La branche actuelle de Python est celle de Python 3, en version 3.11 (décembre 2022) qui apporte de nombreuses amélioration mais n'est pas rétro-compatible avec la branche antérieure 2.7.x, qui n'est plus supportée, bien que certaines librairies logicielles n'aient pas fait l'objet d'une conversion vers la branche 3 (il est préférable alors d'éviter l'utilisation de ces programmes).

Références recommandées pour débutants

Si vous n'avez vraiment encore aucune idée de ce qu'est la programmation, passez une heure amusante à apprendre les rudiments de la programmation avec scratch, et plus si affinité !

Scratch utilise un environnement visuel et le glisser-déposer, ce qui facilite les premiers pas en programmation (cf. cette vidéo).

Il existe d'autres langages de programmation visuels orientés vers l'apprentissage de la programmation : Alice, blockly, snap!, Squeak, RoboMind,…

EduBlocks permet la transition de l'apprentissage par blocs via Scratch vers la programmation en Python (GitHub EduBlocks).

Essayer, débuter, apprendre les bases ...

Que vous choisissiez le tutoriel de la documentation officielle, ou un voire quelques autres documents pour votre initiation à Python, il est important de ne pas multiplier les sources, au risque de sans cesse relire les mêmes informations sur des notions de base. Dès que vous avez un peu compris les grands principes, comment fonctionne le langage, l'édition de programmes,… il est plus intéressant de développer votre expérience via des petits projets personnels, qui seront autant d'occasions de rechercher de la documentation, des exemples, des recommandations,…

Évitez d'utiliser des documents trop anciens, surtout s'ils n'ont pas été adaptés pour la branche Python 3 !

Livres, manuels ou exerciseurs de niveau intermédiaire :


Références pour une utilisation (scientifique) plus avancée

Voir cette présentation de l'écosystème Python scientifique, par Gaël Pegliasco (10/11/2016)

Distributions et installation :

Outils web interactifs

Éditeurs

Quelque soit l'éditeur intégré utilisé, vous devrez le configurer : utilisation de 4 espaces plutôt que la tabulation pour les indentations, indication de l'interpréteur et son chemin, python ou python3. L'utilisation du shebang et l'indication de l'encodage sont recommandées.

Livres

Tutoriels, cours

Conférences

Ressources (codes sources, tutoriels, documentation, livres ...)

Code & qualité

Applications générales en Science

Applications en Chimie

Autres applications spécifiques en Science

Autres applications, librairies générales

Graphical User Interfaces

cf.

Python & web

Librairies particulières

De manières générales, les librairies qui ne sont pas dans la version standard de Python seront placées (par des programmes de “setup” ou manuellement) dans le sous-répertoire .\Libsite-packages\ de Python.

Python Package Index (PyPI) : gestion,...

Autres distributions ou programmes utiles, pour utilisateurs avertis, ou programmeurs

Python pour mobiles

Python et la sécurité

Techniques particulières

Autres pages de liens sur Python

Exemples d'applications (libres) écrites en Python, ou utilisant Python, cookbook,...

Applications très simples (pour étude) :

Exemples d'applications en recherche scientifique de Python

Logiciels permettant l'ajout de plugins écrit en Python

Blogs consacrés au moins partiellement à Python

Articles intéressants

De Python 2 à Python 3

Python 3, une nouvelle branche n'assurant pas une rétrocompatibilité avec la branche 2 existe depuis 2007, mais est en version stable depuis moins longtemps. De plus en plus de librairies sont compatibles avec cette branche, mais beaucoup reste à faire. Python 2.7 continue à être maintenu et fonctionne avec la plupart des librairies.

La plupart des distributions Linux proposent (Q1 2015) à la fois la branche 2 (invoquée par la commande python) et la branche 3 (les noms sont terminés par le chiffre 3, et l'interpréteur est invoqué par exemple par “python3”. C'est dans de nombreux cas la version 3.4 qui est dans les dépôts. La version stable 14.04 LTS de Ubuntu propose Python en version 2.7 et 3.4.

Éléments de discussions sur le passage de Python 2 à Python 3 :

Quelques références sur Python 3

Installation conjointe des branches 3 et 2 (Ubuntu) :

Résumés des changements principaux :

Python 2 Python 3
print aprint(a)
7/3 → 2
7./3 → 2.33333333
7/3 → 2.33333333
7 / / 3 → 2
pas de chaîne unicodeles chaînes sont unicode
binary = string binary = données binaires (bytes)
types entier et entier long un seul type entier (=long)
dico.has_key('cle') → True/False 'cle' in dico → True/False
from Tkinter import * from tkinter import *
execfile() execfile()
range() –> list
xrange() → generator
range() → generator
xrange()
input()eval(input())
raw_input()input()

Trucs, astuces, questions fréquentes, contributions personnelles,...

À classer :

1)
cela ressemble à ceci sous Ubuntu : sudo apt-get install python-all python-all-dev idle python-numpy python-scipy python-matplotlib python-matplotlib-doc python-visual python-doc python-examples diveintopython python-imaging-doc python-pp python-jinja2 python-markdown python-pygments python-landslide ipython ipython-qtconsole ipython-doc ipython-notebook python-pip python-scitools mayavi2 python-numexpr python-pandas python-pygame
2)
cela ressemble à ceci sous Ubuntu : sudo apt-get install python 3 idle3 spyder3 python3-matplotlib python3-scipy python3-numpy python3-pil python3-pip python3-pandas