Python avanc´e
Marc de Falco
Maths/Info en MPSI
Centre International de Valbonne
7 mai 2013
A propos de cette pr´esentation
On parlera ici d’extensions du langage.
Pour la culture plus que l’enseignement direct.
Items pesent´es :
1les slices
2les list/dict par compr´ehension
3les g´en´erateurs
4les d´ecorateurs
5les propri´et´es pour les objets
6la surcharge d’op´erateurs
7h´eritage
Pr´esentation de Python
Python est un langage qui ´evolue :
par tout petits sauts
les PEP : Python Extension Proposal
l’objectif est toujours le mˆeme :
moins de code
moins de r´ep´etition
plus clair
plus efficace
import this :
There should be one– and preferably only one –obvious way to
do it.
Although that way may not be obvious at first unless you’re
Dutch.
Les slices (1/2)
Les slices permettent d’acc`eder `a des sous listes par copie !
>>> l=[0,1,2,3,4,5,6,7,8,9]
>>> l[3:5]# l[debut:fin exclue]
[3,4]
>>> l[:5]# debut = 0
[0,1,2,3,4]
>>> l[7:] # fin = len(l)
[7,8,9]
>>> l[:] # toute la liste, mais c’est une copie!!!
[0,1,2,3,4,5,6,7,8,9]
>>> l[0:8:2]# pas
[0,2,4,6]
>>> l[::-1]# pas negatif il inverse debut/fin
[9,8,7,6,5,4,3,2,1,0]
Les slices (2/2)
On peut s’en servir pour faire des affectations
>>> l=list(range(10))
>>> l[3:5]=l[7:9]
>>> l
[0,1,2,7,8,5,6,7,8,9]
# Tour de magie Pythonesque, que se passe t’il ?
>>> l=list(range(10))
>>> l[::2], l[1::2]=l[1::2], l[::2]
>>> l# a ne surement pas montrer aux eleves ;-)
1 / 22 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !