Documente Academic
Documente Profesional
Documente Cultură
Florent de Dinechin
Python en 30 minutes
Introduction
Grands principes
Python en diagonale
PPOOGL
Introduction
Introduction Grands principes Python en diagonale Le reste est dans le manuel
PPOOGL
La premi`re fois e
Fichier source Toto.py, chier objet Toto.pyc et Toto.pyo mais on sen che python Toto.py excute Toto.py, et parfois cre Toto.pyc e e (mais encore une fois on sen che) Voici le code source : print "Python est plus compact que Java"
PPOOGL
Grands principes
Introduction Grands principes Python en diagonale Le reste est dans le manuel
PPOOGL
Indentation signiante : au lieu duser la touche AltGr, on use la touche tab. Tout est objet (mme les fonctions etc) e
PPOOGL
(` suivre) a
PPOOGL
Python en diagonale
Introduction Grands principes Python en diagonale Le reste est dans le manuel
PPOOGL
Classes : syntaxe
Dclaration dune classe : e class Case: "Une case de notre super jeu" meteo=None def AfficheToi(self): "Methode daffichage universelle" raise NotImplementedError() Instanciation dun objet de cette classe : a=Case()
PPOOGL
Hritage : syntaxe e
Dnition dune sous-classe : e class CaseMer(Case): "Case maritime, avec un courant et tout" courant=None # TODO: surcharger AfficheToi()
PPOOGL
Hritage multiple e
class A(B,C,D): (...) a=A() a.toto() Pb en cas de surcharge : sil y en a plusieurs, cest quel toto() quon appelle ? Rponse : le premier dans une recherche en profondeur e dabord, de gauche ` droite. a
Dabord on cherche toto() dans A puis dans B puis dans toutes les surclasses de B puis dans C, puis dans toutes les surclasses de C etc
PPOOGL 10
... donc il faut se mer. e Exercice : traduire ceci en Java (qui aura le mme comportement). e
PPOOGL 11
Autodocumentation (introspection)
Tout est objet, et donc tout hrite (entre autres) de la cha e ne de documentation doc
Syntaxe pour la dnir pour les fonctions et pour les classes e Par dfaut, la documentation dun objet est celle de sa classe e
pydoc : outil qui fait des (genre de) pages man ou HTML ` a partir de ces cha nes. Voir aussi les fonction str (conversion de nimporte quel objet en cha de caract`res), dir (liste le contenu de nimporte quel ne e objet), type (done son type), etc.
PPOOGL
12
Modules et Paquetages
Un module cest un chier un paquetage cest un rpertoire avec un chier e qui dnit les modules quil contient (exemple e /usr/lib/python/xml/). init .py
Rien ` voir avec la hirarchie des classes, menn je serais a e vous je les ferais correspondre Il ya un chemin (path) de recherche des modules En pratique les modules standards sont tous ` plat dans a /usr/lib/python Pas besoin de dclarer quune classe Toto fait partie dun e paquetage projetLala.tata
Plus facile quen Javal de rorganiser le code apr`s-coup e e Moins de pression sur vous pour rchir ` lavance e e a
PPOOGL
13
Paquetages et nommages
Le nom complet dune classe est paquetage.Module.Class Le nom complet dun membre est paquetage.Module.Classe.membre
la fonction sinus : math.sin(1)
PPOOGL
14
Quelques conventions
Jai limpression quen Python tout le monde crit en e minuscules Vous faites bien ce que vous voudrez.
PPOOGL
15
En Python il ny a pas moyen de dnir un membre statique. e Ctait bien la peine. e En Python il ny a pas moyen de dnir un membre abstrait. e Ctait bien la peine. e En python on compte sur les programmeurs pour tre bien e levs. Zont jamais vu de L3IF. e e Bref. Python fait trop conance aux programmeurs, et ninvite pas ` la modlisation pralable. a e e
PPOOGL
16
PPOOGL
17
PPOOGL
18
Rfrences ee
Dive into python (existe en franais, install par dfaut par c e e Ubuntu) Python tutorial et Python Library reference
PPOOGL
19