Vous êtes sur la page 1sur 401

Cours d’introduction Python - Stéphane Guinard

Stéphane Guinard

To cite this version:


Stéphane Guinard. Cours d’introduction Python - Stéphane Guinard. École d’ingénieur. France.
2018. �cel-02182392�

HAL Id: cel-02182392


https://hal.science/cel-02182392
Submitted on 12 Jul 2019

HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est


archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents
entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non,
lished or not. The documents may come from émanant des établissements d’enseignement et de
teaching and research institutions in France or recherche français ou étrangers, des laboratoires
abroad, or from public or private research centers. publics ou privés.
Cours d’introduction Python
ENSG - IT1

Stéphane Guinard

v1.1.0

19/10/2018
Python

Présentation
du module

Présentation
de Python

Types et
Opérations

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  2 / 169 v1.1.0


Sommaire

Présentation
du module

Présentation
de Python
1 Présentation du module 5 Modules et fonctions
Types et
Opérations

Syntaxe 2 Présentation de Python 6 Fichiers et itérateurs


Modules et
fonctions

Fichiers et 3 Types et Opérations 7 Conclusion


itérateurs

Conclusion

References 4 Syntaxe

Cours Intro Python  19/10/2018  3 / 169 v1.1.0


Déroulement de la présentation

IPrésentation
du module

Présentation
de Python
1 Présentation du module 5 Modules et fonctions
Types et
Opérations

Syntaxe 2 Présentation de Python 6 Fichiers et itérateurs


Modules et
fonctions

Fichiers et 3 Types et Opérations 7 Conclusion


itérateurs

Conclusion

References 4 Syntaxe

Cours Intro Python  19/10/2018  4 / 169 v1.1.0


Objectifs

IPrésentation
du module

Présentation
de Python
• Comprendre les bases de Python et son intérêt
Types et
Opérations

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  5 / 169 v1.1.0


Objectifs

IPrésentation
du module

Présentation
de Python
• Comprendre les bases de Python et son intérêt
Types et
Opérations • Savoir manipuler différents types de données
Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  5 / 169 v1.1.0


Objectifs

IPrésentation
du module

Présentation
de Python
• Comprendre les bases de Python et son intérêt
Types et
Opérations • Savoir manipuler différents types de données
Syntaxe
• Savoir créer un programme complet en Python
Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  5 / 169 v1.1.0


Objectifs

IPrésentation
du module

Présentation
de Python
• Comprendre les bases de Python et son intérêt
Types et
Opérations • Savoir manipuler différents types de données
Syntaxe
• Savoir créer un programme complet en Python
Modules et
fonctions • Prendre des bonnes habitudes de programmation
Fichiers et
itérateurs
(commentaires, documentation, organisation du code, . . .)
Conclusion

References

Cours Intro Python  19/10/2018  5 / 169 v1.1.0


Objectifs

IPrésentation
du module

Présentation
de Python
• Comprendre les bases de Python et son intérêt
Types et
Opérations • Savoir manipuler différents types de données
Syntaxe
• Savoir créer un programme complet en Python
Modules et
fonctions • Prendre des bonnes habitudes de programmation
Fichiers et
itérateurs
(commentaires, documentation, organisation du code, . . .)
Conclusion ⇒ Maı̂triser un premier langage informatique.
References

Cours Intro Python  19/10/2018  5 / 169 v1.1.0


Séances

IPrésentation
du module 7 séances
Présentation
de Python • 19/10 aprem : cours théorique
Types et
Opérations
• 24/10 aprem : TP
Syntaxe • 25/10 matin : TP
Modules et
fonctions
• 26/10 aprem : cours + TP
Fichiers et • 06/11 aprem : TP
itérateurs

Conclusion
• 13/11 aprem : TP
References • 16/11 aprem : TP
• 28/11 matin : évaluation

Cours Intro Python  19/10/2018  6 / 169 v1.1.0


Organisation

IPrésentation
du module

Présentation
de Python
3 groupes avec chacun 1 encadrant.
Types et
Opérations

Syntaxe
Encadrement :
Modules et • Mohamed Boussaha
fonctions

Fichiers et
• Victor Coindet
itérateurs
• Stéphane Guinard
Conclusion

References

Cours Intro Python  19/10/2018  7 / 169 v1.1.0


Évaluation

IPrésentation
du module

Présentation
de Python

Types et
Opérations
TP noté (29/11 matin)
42
Syntaxe sur machines
Modules et
fonctions
individuel
Fichiers et accès au cours
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  8 / 169 v1.1.0


Déroulement de la présentation

Présentation
du module

IPrésentation
de Python
Historique
1 Présentation du module 5 Modules et fonctions
Caractéristiques
du langage
Exécution

Types et 2 Présentation de Python 6 Fichiers et itérateurs


Opérations

Syntaxe

Modules et
3 Types et Opérations 7 Conclusion
fonctions

Fichiers et
itérateurs 4 Syntaxe
Conclusion

References

Cours Intro Python  19/10/2018  9 / 169 v1.1.0


Déroulement de la présentation

Présentation
du module

Présentation
1 Présentation du module 5 Modules et fonctions
de Python
IHistorique
Caractéristiques
du langage 2 Présentation de Python 6 Fichiers et itérateurs
Exécution

Types et
Historique
Opérations Caractéristiques du langage 7 Conclusion
Syntaxe
Exécution
Modules et
fonctions

Fichiers et 3 Types et Opérations


itérateurs

Conclusion

References 4 Syntaxe

Cours Intro Python  19/10/2018  10 / 169 v1.1.0


Historique

Présentation
du module

Présentation
de Python
IHistorique
Caractéristiques
du langage
Exécution

Types et
Opérations

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion
Guido van Rossum
References

Cours Intro Python  19/10/2018  11 / 169 v1.1.0


Historique


Présentation • Milieu des années 80 :
du module
développement d’ABC
Présentation
de Python
CWI
IHistorique
Caractéristiques
du langage
Exécution

Types et
Opérations

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion
Guido van Rossum
References

Cours Intro Python  19/10/2018  11 / 169 v1.1.0


Historique


Présentation • Milieu des années 80 :
du module
développement d’ABC
Présentation CWI
de Python • Février 1991 : version 0.9.0
IHistorique
Caractéristiques
du langage
Exécution

Types et
Opérations

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion
Guido van Rossum
References

Cours Intro Python  19/10/2018  11 / 169 v1.1.0


Historique


Présentation • Milieu des années 80 :
du module
développement d’ABC
Présentation CWI
de Python • Février 1991 : version 0.9.0
IHistorique
Caractéristiques
du langage • 1995 : version 1.2
Exécution

Types et
Opérations

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion
Guido van Rossum
References

Cours Intro Python  19/10/2018  11 / 169 v1.1.0


Historique


Présentation • Milieu des années 80 :
du module
développement d’ABC
Présentation CWI
de Python • Février 1991 : version 0.9.0
IHistorique
Caractéristiques
du langage • 1995 : version 1.2 —
Exécution

Types et
• 1999 : version 1.6 CNRI
Opérations

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion
Guido van Rossum
References

Cours Intro Python  19/10/2018  11 / 169 v1.1.0


Historique


Présentation • Milieu des années 80 :
du module
développement d’ABC
Présentation CWI
de Python • Février 1991 : version 0.9.0
IHistorique
Caractéristiques
du langage • 1995 : version 1.2 —
Exécution

Types et
• 1999 : version 1.6 CNRI
Opérations —
• 2000 : version 2.0
Syntaxe

Modules et
fonctions

Fichiers et PSF
itérateurs

Conclusion
Guido van Rossum
References

Cours Intro Python  19/10/2018  11 / 169 v1.1.0


Historique


Présentation • Milieu des années 80 :
du module
développement d’ABC
Présentation CWI
de Python • Février 1991 : version 0.9.0
IHistorique
Caractéristiques
du langage • 1995 : version 1.2 —
Exécution

Types et
• 1999 : version 1.6 CNRI
Opérations —
• 2000 : version 2.0
Syntaxe

Modules et • 2008 : version 3.0


fonctions

Fichiers et PSF
itérateurs

Conclusion
Guido van Rossum
References

Cours Intro Python  19/10/2018  11 / 169 v1.1.0


Historique


Présentation • Milieu des années 80 :
du module
développement d’ABC
Présentation CWI
de Python • Février 1991 : version 0.9.0
IHistorique
Caractéristiques
du langage • 1995 : version 1.2 —
Exécution

Types et
• 1999 : version 1.6 CNRI
Opérations —
• 2000 : version 2.0
Syntaxe

Modules et • 2008 : version 3.0


fonctions

Fichiers et
• 2010 : version 2.7 PSF
itérateurs

Conclusion
Guido van Rossum
References

Cours Intro Python  19/10/2018  11 / 169 v1.1.0


Historique


Présentation • Milieu des années 80 :
du module
développement d’ABC
Présentation CWI
de Python • Février 1991 : version 0.9.0
IHistorique
Caractéristiques
du langage • 1995 : version 1.2 —
Exécution

Types et
• 1999 : version 1.6 CNRI
Opérations —
• 2000 : version 2.0
Syntaxe

Modules et • 2008 : version 3.0


fonctions

Fichiers et
• 2010 : version 2.7 PSF
itérateurs
• 2015 : version 3.5
Conclusion
• Aujourd’hui : versions 2.7.15 et Guido van Rossum
References
3.7.0

Cours Intro Python  19/10/2018  11 / 169 v1.1.0


License

Présentation
du module

Présentation
de Python
IHistorique
Caractéristiques
du langage
Exécution

Types et
Opérations
LGPL (Lesser GNU Public Licence)
Syntaxe Les outils Python peuvent être utilisés sans restriction pour
Modules et produire des logiciels de tous types, même si ceux-ci sont
fonctions

Fichiers et
distribués avec une licence plus restrictive que la GPL.
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  12 / 169 v1.1.0


Déroulement de la présentation

Présentation
du module

Présentation
1 Présentation du module 5 Modules et fonctions
de Python
Historique
ICaractéristiques
du langage 2 Présentation de Python 6 Fichiers et itérateurs
Exécution

Types et
Historique
Opérations Caractéristiques du langage 7 Conclusion
Syntaxe
Exécution
Modules et
fonctions

Fichiers et 3 Types et Opérations


itérateurs

Conclusion

References 4 Syntaxe

Cours Intro Python  19/10/2018  13 / 169 v1.1.0


Caractéristiques

Présentation
du module Python est :
Présentation
de Python • portable
Historique
ICaractéristiques
du langage • orienté objet et fonctionnel
Exécution

Types et • à typage dynamique fort


Opérations
• performant
Syntaxe

Modules et • associable
fonctions

Fichiers et
• facile à lire et à écrire
itérateurs
• haut niveau
Conclusion

References
• a une communauté active

Cours Intro Python  19/10/2018  14 / 169 v1.1.0


Portabilité

Présentation
du module

Présentation
de Python
Langage interprété
Historique
ICaractéristiques
Langage qui n’a pas besoin d’être compilé, et peut être
du langage
Exécution directement exécuté sur une machine compatible.
Types et Leurs performances sont souvent moins bonnes que celles des
Opérations

Syntaxe
langages compilés.
Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  15 / 169 v1.1.0


Portabilité

Présentation
du module

Présentation
de Python
Langage interprété
Historique
ICaractéristiques
Langage qui n’a pas besoin d’être compilé, et peut être
du langage
Exécution directement exécuté sur une machine compatible.
Types et Leurs performances sont souvent moins bonnes que celles des
Opérations

Syntaxe
langages compilés.
Modules et
fonctions

Fichiers et ⇒ Python est un langage interprété compatible avec les OS les


itérateurs
plus utilisés (MS Windows, Mac OS, GNU Linux, Androı̈d, . . .).
Conclusion

References

Cours Intro Python  19/10/2018  15 / 169 v1.1.0


Orienté objet et fonctionnel

Présentation
du module

Présentation
de Python Orienté Objet
Historique
ICaractéristiques
du langage
Il est possible de créer des objets et d’appliquer des concepts
Exécution
avancés comme le polymorphisme ou l’héritage.
Types et
Opérations

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  16 / 169 v1.1.0


Orienté objet et fonctionnel

Présentation
du module

Présentation
de Python Orienté Objet
Historique
ICaractéristiques
du langage
Il est possible de créer des objets et d’appliquer des concepts
Exécution
avancés comme le polymorphisme ou l’héritage.
Types et
Opérations

Syntaxe Fonctionnel
Modules et
fonctions Python perçoit les instructions comme un ensemble de fonctions
Fichiers et mathématiques à exécuter.
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  16 / 169 v1.1.0


Typage dynamique fort

Présentation
du module

Présentation Il n’est pas nécessaire de déclarer le type des données mais on ne


de Python
Historique peut pas tout mélanger non plus !
ICaractéristiques
du langage
Exécution

Types et
Opérations

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  17 / 169 v1.1.0


Typage dynamique fort

Présentation
du module

Présentation Il n’est pas nécessaire de déclarer le type des données mais on ne


de Python
Historique peut pas tout mélanger non plus !
ICaractéristiques
du langage
Exécution

Types et
Python C++ / Java
Opérations

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  17 / 169 v1.1.0


Performant

Présentation Exécution
du module

Présentation A l’exécution le code Python est converti en Bytecode Python,


de Python
Historique
plus proche de la machine.
ICaractéristiques
du langage
Exécution

Types et
Opérations

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  18 / 169 v1.1.0


Performant

Présentation Exécution
du module

Présentation A l’exécution le code Python est converti en Bytecode Python,


de Python
Historique
plus proche de la machine.
ICaractéristiques
du langage
Exécution

Types et
Opérations

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs Garbage collector
Conclusion
Libère de l’espace mémoire pendant l’exécution afin de
References
l’optimiser.

Cours Intro Python  19/10/2018  18 / 169 v1.1.0


Associable

Présentation
du module

Présentation Python peut facilement être combiné à d’autres langages :


de Python
Historique
ICaractéristiques
du langage
• C/C++ : Cython
Exécution
• Java : Jython
Types et
Opérations
• C] : IronPython
Syntaxe

Modules et
• Perl : PyPerl
fonctions
• PHP : PiP
Fichiers et
itérateurs • R : RPy
Conclusion

References

Cours Intro Python  19/10/2018  19 / 169 v1.1.0


Facile à lire et à écrire

Présentation Pas de point-virgule ni d’accolades. Seule l’indentation définit la


du module
structure du code.
Présentation
de Python
Historique
ICaractéristiques
du langage
Exécution

Types et
Opérations

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  20 / 169 v1.1.0


Facile à lire et à écrire

Présentation Pas de point-virgule ni d’accolades. Seule l’indentation définit la


du module
structure du code.
Présentation
de Python
Historique ⇒ Cela permet de reconnaı̂tre en un coup d’œil les principales
ICaractéristiques
du langage structures d’un code.
Exécution

Types et
Opérations

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  20 / 169 v1.1.0


Facile à lire et à écrire

Présentation Pas de point-virgule ni d’accolades. Seule l’indentation définit la


du module
structure du code.
Présentation
de Python
Historique ⇒ Cela permet de reconnaı̂tre en un coup d’œil les principales
ICaractéristiques
du langage structures d’un code.
Exécution

Types et
Opérations Python est reconnu comme l’un des meilleurs langages pour
Syntaxe apprendre à programmer.
Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  20 / 169 v1.1.0


Haut niveau

Présentation
du module

Présentation
de Python
Historique
ICaractéristiques
du langage
• Pas besoin de se soucier du matériel utilisé.
Exécution

Types et
Opérations

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  21 / 169 v1.1.0


Haut niveau

Présentation
du module

Présentation
de Python
Historique
ICaractéristiques
du langage
• Pas besoin de se soucier du matériel utilisé.
Exécution

Types et
• Pas besoin de gérer la mémoire.
Opérations

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  21 / 169 v1.1.0


Haut niveau

Présentation
du module

Présentation
de Python
Historique
ICaractéristiques
du langage
• Pas besoin de se soucier du matériel utilisé.
Exécution

Types et
• Pas besoin de gérer la mémoire.
Opérations
• Proche du langage naturel.
Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  21 / 169 v1.1.0


Haut niveau

Présentation
du module

Présentation
de Python
Historique
ICaractéristiques
du langage
• Pas besoin de se soucier du matériel utilisé.
Exécution

Types et
• Pas besoin de gérer la mémoire.
Opérations
• Proche du langage naturel.
Syntaxe

Modules et
• Peut être moins efficace que des langages bas-niveau.
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  21 / 169 v1.1.0


Communauté

Présentation
du module

Présentation
Python est très utilisé :
de Python
Historique
ICaractéristiques
du langage
Exécution

Types et
Opérations

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  22 / 169 v1.1.0


Communauté

Présentation
du module Communauté active sur Internet :
Présentation
de Python
Historique
ICaractéristiques
• Top 10 des tags les plus populaires
du langage
Exécution de StackOverflow
Types et
Opérations
• Wiki : wiki.python.org/
Syntaxe • De nombreux forums spécialisés :
Modules et python-forum.io/
fonctions
python-forum.org/
Fichiers et
itérateurs openclassrooms.com/
Conclusion
forum/categorie/langage-python
References

Cours Intro Python  19/10/2018  23 / 169 v1.1.0


Déroulement de la présentation

Présentation
du module

Présentation
1 Présentation du module 5 Modules et fonctions
de Python
Historique
Caractéristiques
du langage 2 Présentation de Python 6 Fichiers et itérateurs
IExécution

Types et
Historique
Opérations Caractéristiques du langage 7 Conclusion
Syntaxe
Exécution
Modules et
fonctions

Fichiers et 3 Types et Opérations


itérateurs

Conclusion

References 4 Syntaxe

Cours Intro Python  19/10/2018  24 / 169 v1.1.0


Interpréteur Python

Présentation
du module

Présentation
Lorsque l’on exécute un code Python, un programme lit le code
de Python et exécute les instructions qu’il contient. Ce programme est
Historique
Caractéristiques
du langage
appelé un interpréteur Python.
IExécution

Types et
Opérations

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  25 / 169 v1.1.0


Interpréteur Python

Présentation
du module

Présentation
Lorsque l’on exécute un code Python, un programme lit le code
de Python et exécute les instructions qu’il contient. Ce programme est
Historique
Caractéristiques
du langage
appelé un interpréteur Python.
IExécution

Types et Un interpréteur est systématiquement installé lorsqu’on installe


Opérations
Python.
Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  25 / 169 v1.1.0


Interpréteur Python

Présentation
du module

Présentation
Lorsque l’on exécute un code Python, un programme lit le code
de Python et exécute les instructions qu’il contient. Ce programme est
Historique
Caractéristiques
du langage
appelé un interpréteur Python.
IExécution

Types et Un interpréteur est systématiquement installé lorsqu’on installe


Opérations
Python.
Syntaxe

Modules et
fonctions
Attention
Fichiers et Plusieurs versions de Python peuvent cohabiter sur une même
itérateurs
machine.
Conclusion

References

Cours Intro Python  19/10/2018  25 / 169 v1.1.0


Exécution

Présentation À l’exécution, le code Python est converti en Bytecode Python,


du module
puis interprété par une machine virtuelle.
Présentation
de Python
Historique
Caractéristiques
du langage
IExécution

Types et
Opérations

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  26 / 169 v1.1.0


Exécution

Présentation À l’exécution, le code Python est converti en Bytecode Python,


du module
puis interprété par une machine virtuelle.
Présentation
de Python
Historique
Caractéristiques
du langage
IExécution

Types et
Opérations

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  26 / 169 v1.1.0


Exécution

Présentation À l’exécution, le code Python est converti en Bytecode Python,


du module
puis interprété par une machine virtuelle.
Présentation
de Python
Historique
Caractéristiques
du langage
IExécution

Types et
Opérations

Syntaxe

Modules et Vitesse d’exécution


fonctions

Fichiers et
L’exécution est plus rapide que pour un langage interprété
itérateurs classique car la machine virtuelle n’a pas besoin de ré-analyser et
Conclusion de re-parser le code. Cependant il reste plus lent que les langages
References
compilés car la PVM doit interpréter le Bytecode.

Cours Intro Python  19/10/2018  26 / 169 v1.1.0


Exécution

Terminal
Présentation
du module

Présentation
de Python
Historique
Caractéristiques
du langage
IExécution

Types et
Opérations

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  27 / 169 v1.1.0


Exécution

Terminal
Présentation
du module

Présentation
de Python
Historique
Caractéristiques
du langage
Environnements de développement
IExécution

Types et
Opérations

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Verbose mode

Cours Intro Python  19/10/2018  27 / 169 v1.1.0


Déroulement de la présentation

Présentation
du module

Présentation
de Python
1 Présentation du module 5 Modules et fonctions
ITypes et
Opérations
Types
Les types
numériques
2 Présentation de Python 6 Fichiers et itérateurs
Booléens
Type “rien”
Chaı̂nes de
caractères
Séquences
3 Types et Opérations 7 Conclusion
Dictionnaires
Ensembles

Syntaxe 4 Syntaxe
Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  28 / 169 v1.1.0
Déroulement de la présentation

Présentation
1 Présentation du module 5 Modules et fonctions
du module

Présentation
de Python 2 Présentation de Python 6 Fichiers et itérateurs
Types et
Opérations
ITypes 3 Types et Opérations 7 Conclusion
Les types
numériques
Booléens
Types
Type “rien”
Chaı̂nes de
Les types numériques
caractères
Séquences Booléens
Dictionnaires
Ensembles Type “rien”
Syntaxe Chaı̂nes de caractères
Modules et
fonctions
Séquences
Fichiers et
Dictionnaires
itérateurs
Ensembles
Conclusion

References
Syntaxe
4 Python
Cours Intro  19/10/2018  29 / 169 v1.1.0
Variable

Présentation
du module

Présentation
de Python Définition
Types et Association d’un nom et d’une valeur. Elle est stockée en binaire
Opérations
ITypes dans la mémoire de l’ordinateur. Le nom permet à l’ordinateur de
Les types
numériques
Booléens
savoir quelle donnée manipuler.
Type “rien”
Chaı̂nes de
caractères
Séquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  30 / 169 v1.1.0
Variable

Présentation
du module

Présentation
de Python Définition
Types et Association d’un nom et d’une valeur. Elle est stockée en binaire
Opérations
ITypes dans la mémoire de l’ordinateur. Le nom permet à l’ordinateur de
Les types
numériques
Booléens
savoir quelle donnée manipuler.
Type “rien”
Chaı̂nes de
caractères
Séquences
Dictionnaires
La programmation consiste essentiellement à manipuler des
Ensembles données stockées en binaire dans la mémoire de l’ordinateur.
Syntaxe
Pour y accéder, on utilisera des variables.
Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  30 / 169 v1.1.0
Nom

Présentation
Le nom d’une variable est composé de :
du module
• Lettres
Présentation
de Python
• Chiffres
Types et
Opérations • Blancs soulignés
ITypes
Les types
numériques
Booléens
Type “rien”
Chaı̂nes de
caractères
Séquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  31 / 169 v1.1.0
Nom

Présentation
Le nom d’une variable est composé de :
du module
• Lettres
Présentation
de Python
• Chiffres
Types et
Opérations • Blancs soulignés
ITypes
Les types
numériques
Booléens Interdictions
Type “rien”
Chaı̂nes de
caractères
Pas d’espaces
Séquences
Dictionnaires Pas de caractères spéciaux (çà)
Ensembles

Syntaxe Le premier caractère n’est pas un chiffre


Modules et
fonctions
Unicité du nom
Fichiers et Respecter la casse
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  31 / 169 v1.1.0
Conventions de nommage

Présentation
Dans un même code, il vous faudra être cohérent sur la notation :
du module

Présentation
de Python

Types et
Opérations
ITypes
Les types
numériques
Booléens
Type “rien”
Chaı̂nes de
caractères
Séquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  32 / 169 v1.1.0
Conventions de nommage

Présentation
Dans un même code, il vous faudra être cohérent sur la notation :
du module

Présentation
de Python • exemple :
Types et noms de variables
Opérations
ITypes
NomsDeFonctions
Les types
numériques • notation hongroise
Booléens
Type “rien”
Chaı̂nes de
caractères
Séquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  32 / 169 v1.1.0
Conventions de nommage

Présentation
Dans un même code, il vous faudra être cohérent sur la notation :
du module

Présentation
de Python • exemple :
Types et noms de variables
Opérations
ITypes
NomsDeFonctions
Les types
numériques • notation hongroise
Booléens
Type “rien”
Chaı̂nes de
caractères
Séquences Les variables commençant et finissant par “ ” sont
Dictionnaires
Ensembles traditionnellement réservées au langage.
Syntaxe
• name
Modules et
fonctions
• str
Fichiers et
itérateurs • main
Conclusion

References
Cours Intro Python  19/10/2018  32 / 169 v1.1.0
Mots réservés au langage

Comme dans la plupart des langages, Python dispose de mots qui


Présentation lui sont réservés : il n’est pas possible de créer une variable
du module

Présentation
portant l’un de ces noms.
de Python

Types et
Opérations
ITypes
Les types
numériques
Booléens
Type “rien”
Chaı̂nes de
caractères
Séquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  33 / 169 v1.1.0
Mots réservés au langage

Comme dans la plupart des langages, Python dispose de mots qui


Présentation lui sont réservés : il n’est pas possible de créer une variable
du module

Présentation
portant l’un de ces noms.
de Python

Types et and else in return


Opérations
ITypes
Les types
as except is
numériques true
Booléens assert false lambda
Type “rien”
Chaı̂nes de
caractères
break finally none try
Séquences
Dictionnaires class for nonlocal
Ensembles
continue from not while
Syntaxe

Modules et def global or


fonctions with
Fichiers et
del if pass
itérateurs
elif import raise yield
Conclusion

References
Cours Intro Python  19/10/2018  33 / 169 v1.1.0
Type

Présentation
du module

Présentation Stockage d’une variable


de Python
La valeur d’une variable est une référence vers une adresse
Types et
Opérations mémoire, à laquelle est stockée le contenu de la variable en
ITypes
Les types
numériques
binaire.
Booléens
Type “rien”
Chaı̂nes de
caractères
Séquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  34 / 169 v1.1.0
Type

Présentation
du module

Présentation Stockage d’une variable


de Python
La valeur d’une variable est une référence vers une adresse
Types et
Opérations mémoire, à laquelle est stockée le contenu de la variable en
ITypes
Les types
numériques
binaire.
Booléens
Type “rien”
Chaı̂nes de Comment savoir ce qui est lu ?
caractères
Séquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  34 / 169 v1.1.0
Type

Présentation
du module

Présentation Stockage d’une variable


de Python
La valeur d’une variable est une référence vers une adresse
Types et
Opérations mémoire, à laquelle est stockée le contenu de la variable en
ITypes
Les types
numériques
binaire.
Booléens
Type “rien”
Chaı̂nes de Comment savoir ce qui est lu ?
caractères
Séquences
Dictionnaires Python utilise des types qui permettent d’identifier le contenu.
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  34 / 169 v1.1.0
Type

Présentation
du module

Présentation Stockage d’une variable


de Python
La valeur d’une variable est une référence vers une adresse
Types et
Opérations mémoire, à laquelle est stockée le contenu de la variable en
ITypes
Les types
numériques
binaire.
Booléens
Type “rien”
Chaı̂nes de Comment savoir ce qui est lu ?
caractères
Séquences
Dictionnaires Python utilise des types qui permettent d’identifier le contenu.
Ensembles

Syntaxe Contrairement à d’autres langages, pas besoin de spécifier le type,


Modules et
fonctions
Python le déduit.
Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  34 / 169 v1.1.0
Types

Exemple : x = 3
Présentation
du module

Présentation
de Python

Types et
Opérations
ITypes
Les types
numériques
Booléens
Type “rien”
Chaı̂nes de
caractères
Séquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  35 / 169 v1.1.0
Types

Exemple : x = 3
Présentation
du module
• Création d’un objet représentant la valeur 3
Présentation • Création d’une variable x, si elle n’existe pas déjà
de Python

Types et
• Association de la variable x à l’objet 3
Opérations
ITypes
Les types
numériques
Booléens
Type “rien”
Chaı̂nes de
caractères
Séquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  35 / 169 v1.1.0
Types et variables

Présentation
du module
En Python, une variable n’est jamais associée à un type : c’est
Présentation
de Python l’objet qu’elle référence qui porte le type.
Types et
Opérations
ITypes
Les types
numériques
Booléens
Type “rien”
Chaı̂nes de
caractères
Séquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  36 / 169 v1.1.0
Types et variables

Présentation
du module
En Python, une variable n’est jamais associée à un type : c’est
Présentation
de Python l’objet qu’elle référence qui porte le type.
Types et
Opérations
ITypes
Les types
numériques
Booléens
Type “rien”
Chaı̂nes de
caractères
Séquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  36 / 169 v1.1.0
Garbage collector

Définition
Présentation
du module
Python garde un objet en mémoire tant qu’il y a une référence
Présentation vers cet objet. Lorsque l’objet n’est plus référencé, un garbage
de Python
collector est appelé pour effacer cet objet de la mémoire.
Types et
Opérations
ITypes
Les types
numériques
Booléens
Type “rien”
Chaı̂nes de
caractères
Séquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  37 / 169 v1.1.0
Garbage collector

Définition
Présentation
du module
Python garde un objet en mémoire tant qu’il y a une référence
Présentation vers cet objet. Lorsque l’objet n’est plus référencé, un garbage
de Python
collector est appelé pour effacer cet objet de la mémoire.
Types et
Opérations
ITypes
Les types
numériques
Booléens
Type “rien”
Chaı̂nes de
caractères
Séquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  37 / 169 v1.1.0
Types de base
Type Exemple
Présentation
Nombre 3, 1.12, -152.36941
du module Chaı̂ne de caractères “ensg”, “toto titi”
Présentation
de Python
Liste [1,2,3], [“a”,“b”,“c”], [1,“fzi”,452.2]
Types et
Tuple (1,2,3), (“a”,“b”,“c”)
Opérations
ITypes
Collection {1.1,“abcde”,(1,2,3)}
Les types
numériques Dictionnaire 1:“a”, 2:“b”
Booléens
Type “rien” Booléen True, False
Chaı̂nes de
caractères Rien None
Séquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions
Vous en voulez
Fichiers et
plus ? Verbose mode
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  38 / 169 v1.1.0
Déroulement de la présentation

Présentation
1 Présentation du module 5 Modules et fonctions
du module

Présentation
de Python 2 Présentation de Python 6 Fichiers et itérateurs
Types et
Opérations
Types 3 Types et Opérations 7 Conclusion
ILes types
numériques
Booléens
Types
Type “rien”
Chaı̂nes de
Les types numériques
caractères
Séquences Booléens
Dictionnaires
Ensembles Type “rien”
Syntaxe Chaı̂nes de caractères
Modules et
fonctions
Séquences
Fichiers et
Dictionnaires
itérateurs
Ensembles
Conclusion

References
Syntaxe
4 Python
Cours Intro  19/10/2018  39 / 169 v1.1.0
Types numériques

Présentation
du module

Présentation Python possède les types numériques standards de la plupart des


de Python
langages, en plus de types moins courant, comme les complexes.
Types et
Opérations
Types
ILes types
Type Exemple
numériques
Booléens Integer 2,-5
Type “rien”
Chaı̂nes de Float 3.1415,-1.0
caractères
Séquences
Dictionnaires
Complex 2+3j
Ensembles Decimal Decimal(“0.1”)
Syntaxe
Fraction Fraction(1,3)
Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  40 / 169 v1.1.0
Opérations

Présentation
du module
Les opérations suivantes sont valables pour les types numériques :
Présentation
de Python

Types et Opérateur Signification


Opérations
Types + Addition
ILes types
numériques - Soustraction
Booléens
Type “rien” * Multiplication
Chaı̂nes de
caractères
Séquences
** Puissance
Dictionnaires
Ensembles
/ Division flottante
Syntaxe // Division entière
Modules et % Modulo
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  41 / 169 v1.1.0
Int et float

Il est possible de convertir simplement des nombres quelconques


Présentation en “int” ou “float” avec les fonctions “int()” et “float().
du module

Présentation >>> a = 3
de Python
>>> type(a)
Types et
Opérations
<class ’int’>
Types >>> float(a)
ILes types
numériques 3.0
Booléens
Type “rien”
>>> type(a)
Chaı̂nes de
caractères
<class ’int’>
Séquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  42 / 169 v1.1.0
Int et float

Il est possible de convertir simplement des nombres quelconques


Présentation en “int” ou “float” avec les fonctions “int()” et “float().
du module

Présentation >>> a = 3
de Python
>>> type(a)
Types et
Opérations
<class ’int’>
Types >>> float(a)
ILes types
numériques 3.0
Booléens
Type “rien”
>>> type(a)
Chaı̂nes de
caractères
<class ’int’>
Séquences
Dictionnaires
Ensembles Si 2 types sont mélangés dans une même expression
Syntaxe
mathématique, Python va automatiquement convertir le résultat
Modules et
fonctions vers le plus “complexe” des 2 types.
Fichiers et
itérateurs >>> type(1+3.57654)
Conclusion <class ’float’>
References
Cours Intro Python  19/10/2018  42 / 169 v1.1.0
Nombres complexes

Les nombres complexes sont représentés en ajoutant un “j” à la


Présentation partie imaginaire.
du module

Présentation >>> j*j


de Python
traceback (most recent call last):
Types et
Opérations
File "<stdin>", line 1, in <module>
Types NameError: name ’j’ is not defined
ILes types
numériques >>> 1j*1j
Booléens
Type “rien”
(-1+0j)
Chaı̂nes de
caractères
Séquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  43 / 169 v1.1.0
Nombres complexes

Les nombres complexes sont représentés en ajoutant un “j” à la


Présentation partie imaginaire.
du module

Présentation >>> j*j


de Python
traceback (most recent call last):
Types et
Opérations
File "<stdin>", line 1, in <module>
Types NameError: name ’j’ is not defined
ILes types
numériques >>> 1j*1j
Booléens
Type “rien”
(-1+0j)
Chaı̂nes de
caractères
Séquences
Dictionnaires
Ensembles Usage de “j”
Syntaxe Il est obligatoire d’ajouter un nombre devant le “j”, même s’il
Modules et
fonctions
s’agit de 1 :
Fichiers et j est une variable
itérateurs

Conclusion 1j est un nombre imaginaire


References
Cours Intro Python  19/10/2018  43 / 169 v1.1.0
Decimal

Python possède un type “Decimal”, pour gérer les nombres


Présentation décimaux avec précision.
du module

Présentation
de Python

Types et
Opérations
Types
ILes types
numériques
Booléens
Type “rien”
Chaı̂nes de
caractères
Séquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  44 / 169 v1.1.0
Decimal

Python possède un type “Decimal”, pour gérer les nombres


Présentation décimaux avec précision.
du module

Présentation Float :
de Python
>>> 0.1 + 0.1 + 0.1 - 0.3
Types et
Opérations 5.551115123125783e-17
Types
ILes types
numériques
Booléens
Type “rien”
Chaı̂nes de
caractères
Séquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  44 / 169 v1.1.0
Decimal

Python possède un type “Decimal”, pour gérer les nombres


Présentation décimaux avec précision.
du module

Présentation Float :
de Python
>>> 0.1 + 0.1 + 0.1 - 0.3
Types et
Opérations 5.551115123125783e-17
Types
ILes types
numériques Decimal :
Booléens
Type “rien”
Chaı̂nes de
>>> print(Decimal(’0.1’) + Decimal(’0.1’) + Decimal(’0.1’
caractères ) - Decimal(’0.3’))
Séquences
Dictionnaires 0.0
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  44 / 169 v1.1.0
Decimal

Python possède un type “Decimal”, pour gérer les nombres


Présentation décimaux avec précision.
du module

Présentation Float :
de Python
>>> 0.1 + 0.1 + 0.1 - 0.3
Types et
Opérations 5.551115123125783e-17
Types
ILes types
numériques Decimal :
Booléens
Type “rien”
Chaı̂nes de
>>> print(Decimal(’0.1’) + Decimal(’0.1’) + Decimal(’0.1’
caractères ) - Decimal(’0.3’))
Séquences
Dictionnaires 0.0
Ensembles

Syntaxe
Précision Decimal
Modules et
fonctions La précision du type “Decimal” n’est pas absolue non plus !
Fichiers et
itérateurs >>> print(Decimal(0.1))
Conclusion 0.1000000000000000055511151231257827021181583404541015625
References
Cours Intro Python  19/10/2018  44 / 169 v1.1.0
Fraction

Présentation
du module
Python possède un dernier type numérique : “Fraction”. Il
Présentation fonctionne de façon similaire au type “Decimal” et permet de
de Python
gérer avec précision les fractions.
Types et
Opérations
Types
ILes types
numériques
Booléens
Type “rien”
Chaı̂nes de
caractères
Séquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  45 / 169 v1.1.0
Fraction

Présentation
du module
Python possède un dernier type numérique : “Fraction”. Il
Présentation fonctionne de façon similaire au type “Decimal” et permet de
de Python
gérer avec précision les fractions.
Types et
Opérations
Types
ILes types
• Sans “Fraction”:
numériques
Booléens
Type “rien”
>>> 1/6 + 1/2
Chaı̂nes de
caractères
0.6666666666666666
Séquences
Dictionnaires
Ensembles • Avec “Fraction”:
Syntaxe
>>> print(Fraction(1,6)+Fraction(1,2))
Modules et
fonctions
2/3
Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  45 / 169 v1.1.0
Déroulement de la présentation

Présentation
1 Présentation du module 5 Modules et fonctions
du module

Présentation
de Python 2 Présentation de Python 6 Fichiers et itérateurs
Types et
Opérations
Types 3 Types et Opérations 7 Conclusion
Les types
numériques
IBooléens
Types
Type “rien”
Chaı̂nes de
Les types numériques
caractères
Séquences Booléens
Dictionnaires
Ensembles Type “rien”
Syntaxe Chaı̂nes de caractères
Modules et
fonctions
Séquences
Fichiers et
Dictionnaires
itérateurs
Ensembles
Conclusion

References
Syntaxe
4 Python
Cours Intro  19/10/2018  46 / 169 v1.1.0
Booléens

Définition
Présentation
du module Il s’agit d’objets valant soit “True” soit “False”.
Présentation
de Python

Types et
Opérations
Types
Les types
numériques
IBooléens
Type “rien”
Chaı̂nes de
caractères
Séquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  47 / 169 v1.1.0
Booléens

Définition
Présentation
du module Il s’agit d’objets valant soit “True” soit “False”.
Présentation
de Python

Types et Remarque
Opérations
Types Pendant longtemps ce type n’existait pas et on utilisait les entiers
Les types
numériques
IBooléens
0 pour faux et 1 pour vrai. Ceci explique que les booléens
Type “rien”
Chaı̂nes de
fonctionnent à peu près de la même façon que les entiers.
caractères
Séquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  47 / 169 v1.1.0
Booléens

Définition
Présentation
du module Il s’agit d’objets valant soit “True” soit “False”.
Présentation
de Python

Types et Remarque
Opérations
Types Pendant longtemps ce type n’existait pas et on utilisait les entiers
Les types
numériques
IBooléens
0 pour faux et 1 pour vrai. Ceci explique que les booléens
Type “rien”
Chaı̂nes de
fonctionnent à peu près de la même façon que les entiers.
caractères
Séquences
Dictionnaires
Ensembles
>>> True + 1 >>> False == 0 >>> False is 0
Syntaxe 2 True False
Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  47 / 169 v1.1.0
Booléens

Définition
Présentation
du module Il s’agit d’objets valant soit “True” soit “False”.
Présentation
de Python

Types et Remarque
Opérations
Types Pendant longtemps ce type n’existait pas et on utilisait les entiers
Les types
numériques
IBooléens
0 pour faux et 1 pour vrai. Ceci explique que les booléens
Type “rien”
Chaı̂nes de
fonctionnent à peu près de la même façon que les entiers.
caractères
Séquences
Dictionnaires
Ensembles
>>> True + 1 >>> False == 0 >>> False is 0
Syntaxe 2 True False
Modules et
fonctions

Fichiers et
Type booléen
itérateurs
Les booléens ne sont pas des nombres !
Conclusion

References
Cours Intro Python  19/10/2018  47 / 169 v1.1.0
Opérations

Présentation
du module Opérations renvoyant des booléens :
Présentation
de Python
Opérateur Signification
Types et
Opérations > Supérieur
Types
Les types
< Inférieur
numériques
IBooléens >= Supérieur ou égal
Type “rien”
Chaı̂nes de <= Inférieur ou égal
caractères
Séquences
Dictionnaires
== Égal
Ensembles
!= Différent
Syntaxe
is Identicité des objets
Modules et
fonctions is not Différence des objets
Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  48 / 169 v1.1.0
Expressions

Expressions booléennes :
Présentation
du module
Opérateur Signification
Présentation
de Python X and Y Vrai si X et Y valent “True”
Types et
Opérations
X or Y Vrai si X ou Y vaut “True”
Types not X Vrai si X vaut “False”
Les types
numériques
IBooléens
Type “rien”
Chaı̂nes de
caractères
Séquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  49 / 169 v1.1.0
Expressions

Expressions booléennes :
Présentation
du module
Opérateur Signification
Présentation
de Python X and Y Vrai si X et Y valent “True”
Types et
Opérations
X or Y Vrai si X ou Y vaut “True”
Types not X Vrai si X vaut “False”
Les types
numériques
IBooléens
Type “rien” if (2<3): if (not 2<3):
Chaı̂nes de
caractères print(’toto’) print(’toto’)
Séquences
Dictionnaires
Ensembles toto
Syntaxe

Modules et if (2<3 and 4<3): if (2<3 or 4<3):


fonctions print(’toto’) print(’toto’)
Fichiers et
itérateurs
toto
Conclusion

References
Cours Intro Python  19/10/2018  49 / 169 v1.1.0
Déroulement de la présentation

Présentation
1 Présentation du module 5 Modules et fonctions
du module

Présentation
de Python 2 Présentation de Python 6 Fichiers et itérateurs
Types et
Opérations
Types 3 Types et Opérations 7 Conclusion
Les types
numériques
Booléens
Types
IType “rien”
Chaı̂nes de
Les types numériques
caractères
Séquences Booléens
Dictionnaires
Ensembles Type “rien”
Syntaxe Chaı̂nes de caractères
Modules et
fonctions
Séquences
Fichiers et
Dictionnaires
itérateurs
Ensembles
Conclusion

References
Syntaxe
4 Python
Cours Intro  19/10/2018  50 / 169 v1.1.0
None

Présentation
du module
Définition
Présentation Il existe un type en Python qui ne peut prendre que la valeur
de Python
“None”. Cela signifie que la variable en question ne contient rien.
Types et
Opérations
Types
Les types
numériques
Booléens
IType “rien”
Chaı̂nes de
caractères
Séquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  51 / 169 v1.1.0
None

Présentation
du module
Définition
Présentation Il existe un type en Python qui ne peut prendre que la valeur
de Python
“None”. Cela signifie que la variable en question ne contient rien.
Types et
Opérations
Types
Les types Utilisation
numériques
Booléens
IType “rien”
On l’utilise lorsque qu’une opération n’a pas de retour, ou pour
Chaı̂nes de
caractères vérifier que certaines parties du programme ont bien fonctionné.
Séquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  51 / 169 v1.1.0
None

Présentation
du module
Définition
Présentation Il existe un type en Python qui ne peut prendre que la valeur
de Python
“None”. Cela signifie que la variable en question ne contient rien.
Types et
Opérations
Types
Les types Utilisation
numériques
Booléens
IType “rien”
On l’utilise lorsque qu’une opération n’a pas de retour, ou pour
Chaı̂nes de
caractères vérifier que certaines parties du programme ont bien fonctionné.
Séquences
Dictionnaires
Ensembles
def test(x = None): >>> test()
Syntaxe
if (x == None): x not specified
Modules et
fonctions
print("x not specified")
else: >>> test(3)
Fichiers et
itérateurs print(x) 3
Conclusion

References
Cours Intro Python  19/10/2018  51 / 169 v1.1.0
Déroulement de la présentation

Présentation
1 Présentation du module 5 Modules et fonctions
du module

Présentation
de Python 2 Présentation de Python 6 Fichiers et itérateurs
Types et
Opérations
Types 3 Types et Opérations 7 Conclusion
Les types
numériques
Booléens
Types
Type “rien”
IChaı̂nes de
Les types numériques
caractères
Séquences Booléens
Dictionnaires
Ensembles Type “rien”
Syntaxe Chaı̂nes de caractères
Modules et
fonctions
Séquences
Fichiers et
Dictionnaires
itérateurs
Ensembles
Conclusion

References
Syntaxe
4 Python
Cours Intro  19/10/2018  52 / 169 v1.1.0
Type

Présentation
du module

Présentation
de Python

Types et
Opérations
En Python, il n’existe qu’un seul type de données contenant du
Types
Les types
texte : les chaı̂nes de caractères.
numériques
Booléens
Type “rien”
IChaı̂nes de
caractères
Séquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  53 / 169 v1.1.0
Type

Présentation
du module

Présentation
de Python

Types et
Opérations
En Python, il n’existe qu’un seul type de données contenant du
Types
Les types
texte : les chaı̂nes de caractères.
numériques
Booléens
Type “rien” Une chaı̂ne de caractères est définie comme une suite finie de
IChaı̂nes de
caractères caractères (lettres, chiffres, espaces, . . .) entre guillemets.
Séquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  53 / 169 v1.1.0
Guillemets

Présentation
du module
Une chaı̂ne de caractères s’écrit entre guillemets. On peut utiliser
Présentation
de Python indifféremment les simples ou doubles guillemets.
Types et
Opérations
Types
Les types
numériques
Booléens
Type “rien”
IChaı̂nes de
caractères
Séquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  54 / 169 v1.1.0
Guillemets

Présentation
du module
Une chaı̂ne de caractères s’écrit entre guillemets. On peut utiliser
Présentation
de Python indifféremment les simples ou doubles guillemets.
Types et
Opérations
Types >>> "toto" == ’toto’
Les types True
numériques
Booléens
Type “rien”
IChaı̂nes de
caractères
Séquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  54 / 169 v1.1.0
Guillemets

Présentation
du module
Une chaı̂ne de caractères s’écrit entre guillemets. On peut utiliser
Présentation
de Python indifféremment les simples ou doubles guillemets.
Types et
Opérations
Types >>> "toto" == ’toto’
Les types True
numériques
Booléens
Type “rien”
IChaı̂nes de
caractères L’intérêt est de pouvoir introduire des apostrophes ou des
Séquences
Dictionnaires guillemets à l’intérieur de la chaı̂ne de caractères.
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  54 / 169 v1.1.0
Guillemets

Présentation
du module
Une chaı̂ne de caractères s’écrit entre guillemets. On peut utiliser
Présentation
de Python indifféremment les simples ou doubles guillemets.
Types et
Opérations
Types >>> "toto" == ’toto’
Les types True
numériques
Booléens
Type “rien”
IChaı̂nes de
caractères L’intérêt est de pouvoir introduire des apostrophes ou des
Séquences
Dictionnaires guillemets à l’intérieur de la chaı̂ne de caractères.
Ensembles

Syntaxe >>> "l’arc-en-ciel" >>> ’le type "rien"’


Modules et "l’arc-en-ciel" ’le type "rien"’
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  54 / 169 v1.1.0
Antislash

Que faire si on a besoin des 2 types de guillemets ?


Présentation
du module

Présentation
de Python

Types et
Opérations
Types
Les types
numériques
Booléens
Type “rien”
IChaı̂nes de
caractères
Séquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  55 / 169 v1.1.0
Antislash

Que faire si on a besoin des 2 types de guillemets ?


Présentation
du module >>> ’"Aujourd’hui" le ciel est beau’
Présentation File "<stdin>", line 1
de Python
’"Aujourd’hui" le ciel est beau’
Types et ^
Opérations
Types SyntaxError: invalid syntax
Les types
numériques
Booléens >>> ’"Aujourd\’hui" le ciel est beau’
Type “rien”
IChaı̂nes de ’"Aujourd\’hui" le ciel est beau’
caractères
Séquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  55 / 169 v1.1.0
Antislash

Que faire si on a besoin des 2 types de guillemets ?


Présentation
du module >>> ’"Aujourd’hui" le ciel est beau’
Présentation File "<stdin>", line 1
de Python
’"Aujourd’hui" le ciel est beau’
Types et ^
Opérations
Types SyntaxError: invalid syntax
Les types
numériques
Booléens >>> ’"Aujourd\’hui" le ciel est beau’
Type “rien”
IChaı̂nes de ’"Aujourd\’hui" le ciel est beau’
caractères
Séquences
Dictionnaires
Ensembles

Syntaxe Autres usages


Modules et
fonctions
\n pour les sauts de ligne
Fichiers et \t pour les tabulations
itérateurs

Conclusion \\ pour les antishlashs


References
Cours Intro Python  19/10/2018  55 / 169 v1.1.0
Raw string

Présentation L’écriture de certaines chaı̂nes de caractères peut vite devenir très


du module
compliquée (chemins d’accès à des fichiers par exemple). Il y a
Présentation
de Python donc une syntaxe spéciale en Python pour que les “\” soient
Types et interprétés comme tels.
Opérations
Types
Les types
numériques
Booléens
Type “rien”
IChaı̂nes de
caractères
Séquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  56 / 169 v1.1.0
Raw string

Présentation L’écriture de certaines chaı̂nes de caractères peut vite devenir très


du module
compliquée (chemins d’accès à des fichiers par exemple). Il y a
Présentation
de Python donc une syntaxe spéciale en Python pour que les “\” soient
Types et interprétés comme tels.
Opérations
Types
Les types
numériques
Il suffit d’ajouter un “r” devant la chaı̂ne de caractères. Cela
Booléens
Type “rien”
s’appelle une “raw string”.
IChaı̂nes de
caractères
Séquences >>> print("C:\Images\noel")
Dictionnaires
Ensembles C:\Images
Syntaxe oel
Modules et
fonctions >>> print(r"C:\Images\noel")
Fichiers et C:\Images\noel
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  56 / 169 v1.1.0
Mise en page

Présentation
du module
Python propose aussi une syntaxe afin de garder la mise en page
Présentation
d’une chaı̂ne de caractères. Il faut que celle-ci commence et
de Python
finisse par 3 guillemets.
Types et
Opérations
Types
Les types
numériques
Booléens
Type “rien”
IChaı̂nes de
caractères
Séquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  57 / 169 v1.1.0
Mise en page

Présentation
du module
Python propose aussi une syntaxe afin de garder la mise en page
Présentation
d’une chaı̂ne de caractères. Il faut que celle-ci commence et
de Python
finisse par 3 guillemets.
Types et
Opérations
Types >>> print("""ceci est une ligne
Les types
numériques ceci est une autre ligne
Booléens
Type “rien”
IChaı̂nes de
caractères ceci est une tabulation""")
Séquences
Dictionnaires
Ensembles ceci est une ligne
Syntaxe ceci est une autre ligne
Modules et
fonctions ceci est une tabulation
Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  57 / 169 v1.1.0
Opérations

Présentation
du module

Présentation
Voici la liste des opérations utilisables sur des chaı̂nes de
de Python caractères :
Types et
Opérations Opérateur Signification
Types
Les types
numériques
+ Concaténation
Booléens
Type “rien”
* Répétition
IChaı̂nes de
caractères in Inclusion d’une chaı̂ne dans une autre
Séquences
Dictionnaires not in Non-inclusion
Ensembles

Syntaxe
[i] i-ième caractère d’une chaı̂ne
Modules et
[i:j] Caractères entre la i-ième et la j-ième positions
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  58 / 169 v1.1.0
Fonctions courantes
Fonction Signification
Présentation
chaine.count(s) compte le nombre d’occurrences de “s”
du module chaine.find(s) retourne la position du premier “s” de
Présentation
de Python
la chaine, ou -1 s’il n’apparaı̂t pas
Types et
chaine.isalpha() retourne True si la chaı̂ne est
Opérations
Types
uniquement composée de lettres
Les types
numériques
chaine.isdigit() retourne True si la chaı̂ne est
Booléens
Type “rien”
uniquement composée de chiffres
IChaı̂nes de
caractères
chaine.replace(old,new) remplace toutes les occurrences de
Séquences
Dictionnaires
“old” par “new”
Ensembles chaine.split(sep) découpe la chaı̂ne au niveau de “sep”
Syntaxe
chaine.strip(s) supprime les espaces au début et à la
Modules et
fonctions fin de la chaı̂ne ainsi que les “s”
Fichiers et
chaine.upper() mets le texte en majuscule
itérateurs chaine.startwith(s) retourne True si la chaı̂ne commence
Conclusion
par “s”
References
Cours Intro Python  19/10/2018  59 / 169 v1.1.0
Formatage de texte

Présentation
Depuis la version 2.6, il existe 2 façons différentes de formater des
du module chaı̂nes de caractères :
Présentation
de Python

Types et
Opérations
Types
Les types
numériques
Booléens
Type “rien”
IChaı̂nes de
caractères
Séquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  60 / 169 v1.1.0
Formatage de texte

Présentation
Depuis la version 2.6, il existe 2 façons différentes de formater des
du module chaı̂nes de caractères :
Présentation
de Python
>>> "j’affiche la valeur %i" %(3)
Types et
Opérations "j’affiche la valeur 3"
Types
Les types
numériques >>> "j’affiche la valeur {}".format(3)
Booléens
Type “rien” "j’affiche la valeur 3"
IChaı̂nes de
caractères
Séquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  60 / 169 v1.1.0
Formatage de texte

Présentation
Depuis la version 2.6, il existe 2 façons différentes de formater des
du module chaı̂nes de caractères :
Présentation
de Python
>>> "j’affiche la valeur %i" %(3)
Types et
Opérations "j’affiche la valeur 3"
Types
Les types
numériques >>> "j’affiche la valeur {}".format(3)
Booléens
Type “rien” "j’affiche la valeur 3"
IChaı̂nes de
caractères
Séquences
Dictionnaires
Ensembles
Remarque
Syntaxe

Modules et
Ces méthodes ne sont pas strictement identiques, mais dans le
fonctions
cadre de notre cours, on pourra considérer qu’elles le sont.
Fichiers et Verbose mode
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  60 / 169 v1.1.0
Déroulement de la présentation

Présentation
1 Présentation du module 5 Modules et fonctions
du module

Présentation
de Python 2 Présentation de Python 6 Fichiers et itérateurs
Types et
Opérations
Types 3 Types et Opérations 7 Conclusion
Les types
numériques
Booléens
Types
Type “rien”
Chaı̂nes de
Les types numériques
caractères
ISéquences Booléens
Dictionnaires
Ensembles Type “rien”
Syntaxe Chaı̂nes de caractères
Modules et
fonctions
Séquences
Fichiers et
Dictionnaires
itérateurs
Ensembles
Conclusion

References
Syntaxe
4 Python
Cours Intro  19/10/2018  61 / 169 v1.1.0
Séquences

Présentation
du module

Présentation
de Python
Les séquences sont un ensemble de types de données, on y
Types et
retrouve :
Opérations
Types
Les types
numériques
Booléens
Type “rien”
Chaı̂nes de
caractères
ISéquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  62 / 169 v1.1.0
Séquences

Présentation
du module

Présentation
de Python
Les séquences sont un ensemble de types de données, on y
Types et
retrouve :
Opérations
Types
• list
Les types
numériques
Booléens
• tuples
Type “rien”
Chaı̂nes de • range
caractères
ISéquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  62 / 169 v1.1.0
Séquences

Présentation
du module

Présentation
de Python
Les séquences sont un ensemble de types de données, on y
Types et
retrouve :
Opérations
Types
• list
Les types
numériques
Booléens
• tuples
Type “rien”
Chaı̂nes de • range
caractères
ISéquences
Dictionnaires
Ensembles On peut également considérer les chaı̂nes de caractères comme
Syntaxe un type particulier de séquences.
Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  62 / 169 v1.1.0
Généralités

Les séquences sont :


Présentation
du module

Présentation
de Python

Types et
Opérations
Types
Les types
numériques
Booléens
Type “rien”
Chaı̂nes de
caractères
ISéquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  63 / 169 v1.1.0
Généralités

Les séquences sont :


Présentation • itérables : elles peuvent retourner les éléments qui les
du module
composent les uns à la suite des autres
Présentation
de Python

Types et
Opérations
Types
Les types
numériques
Booléens
Type “rien”
Chaı̂nes de
caractères
ISéquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  63 / 169 v1.1.0
Généralités

Les séquences sont :


Présentation • itérables : elles peuvent retourner les éléments qui les
du module
composent les uns à la suite des autres
Présentation
de Python • indexables : elles peuvent retourner un élément particulier
Types et sans parcourir l’intégralité de leurs éléments
Opérations
Types
Les types
numériques
Booléens
Type “rien”
Chaı̂nes de
caractères
ISéquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  63 / 169 v1.1.0
Généralités

Les séquences sont :


Présentation • itérables : elles peuvent retourner les éléments qui les
du module
composent les uns à la suite des autres
Présentation
de Python • indexables : elles peuvent retourner un élément particulier
Types et sans parcourir l’intégralité de leurs éléments
Opérations
Types
Les types
numériques
Booléens
Indexation
Type “rien”
Chaı̂nes de
L’indexation des séquences commence à 0.
caractères
ISéquences
Dictionnaires s[0] ⇒ premier élément de la séquence
Ensembles

Syntaxe s[1] ⇒ second élément de la séquence


Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  63 / 169 v1.1.0
Généralités

Les séquences sont :


Présentation • itérables : elles peuvent retourner les éléments qui les
du module
composent les uns à la suite des autres
Présentation
de Python • indexables : elles peuvent retourner un élément particulier
Types et sans parcourir l’intégralité de leurs éléments
Opérations
Types
Les types
numériques
Booléens
Indexation
Type “rien”
Chaı̂nes de
L’indexation des séquences commence à 0.
caractères
ISéquences
Dictionnaires s[0] ⇒ premier élément de la séquence
Ensembles

Syntaxe s[1] ⇒ second élément de la séquence


Modules et
fonctions

Fichiers et >>> s = "12345"


itérateurs >>> S[0]
Conclusion ’1’
References
Cours Intro Python  19/10/2018  63 / 169 v1.1.0
Opérations

Opérateur Signification
Présentation
du module x in s x est dans s
Présentation x not in s x n’est pas dans s
de Python
s+t concaténation
Types et
Opérations s*n s ajouté n fois à lui-même
Types
Les types s[i] élément à la i-ième position
numériques
Booléens s[i:j] éléments de la i-ième place à la j-ième place
Type “rien”
Chaı̂nes de
caractères
s[i:j:k] éléments de la i-ième place à la j-ième place
ISéquences
Dictionnaires
avec un pas de k
Ensembles len(s) nombre d’éléments de s
Syntaxe
min(s) plus petit élément de s (si possible)
Modules et
fonctions sum(s) somme des éléments de s (si possible)
Fichiers et s.index(x,i,j) index de la première occurrence de x entre les
itérateurs
i+1 et j+1-ièmes éléments
Conclusion

References
Cours Intro Python  19/10/2018  64 / 169 v1.1.0
Catégories de séquences

Il existe 2 catégories de séquences :


Présentation
du module

Présentation
de Python

Types et
Opérations
Types
Les types
numériques
Booléens
Type “rien”
Chaı̂nes de
caractères
ISéquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  65 / 169 v1.1.0
Catégories de séquences

Il existe 2 catégories de séquences :


Présentation
du module • séquences immuables : les éléments ne peuvent pas être
Présentation
de Python
modifiés
Types et
Opérations
Types
Les types
numériques
Booléens
Type “rien”
Chaı̂nes de
caractères
ISéquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  65 / 169 v1.1.0
Catégories de séquences

Il existe 2 catégories de séquences :


Présentation
du module • séquences immuables : les éléments ne peuvent pas être
Présentation
de Python
modifiés
Types et • séquences modifiables : les éléments peuvent être modifiés
Opérations
Types
Les types
numériques
Booléens
Type “rien”
Chaı̂nes de
caractères
ISéquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  65 / 169 v1.1.0
Catégories de séquences

Il existe 2 catégories de séquences :


Présentation
du module • séquences immuables : les éléments ne peuvent pas être
Présentation
de Python
modifiés
Types et • séquences modifiables : les éléments peuvent être modifiés
Opérations
Types
Les types
numériques
Booléens
Type “rien” >>> seq = "abc" >>> seq = []
Chaı̂nes de
caractères >>> id(seq) >>> id(seq)
ISéquences
Dictionnaires
139981844948616 140407931682952
Ensembles

Syntaxe >>> seq = seq+"de" >>> seq.append(0)


Modules et >>> id(seq) >>> id(seq)
fonctions 139981767557728 140107931682952
Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  65 / 169 v1.1.0
Tuples

Présentation
du module

Présentation
Définition
de Python
Un tuple est un tableau d’objets de n’importe quel type. Les
Types et
Opérations tuples sont immuables.
Types
Les types
numériques
Booléens
Type “rien”
Chaı̂nes de
caractères
ISéquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  66 / 169 v1.1.0
Tuples

Présentation
du module

Présentation
Définition
de Python
Un tuple est un tableau d’objets de n’importe quel type. Les
Types et
Opérations tuples sont immuables.
Types
Les types
numériques
Booléens
Type “rien” >>> t = ("abcde", 12345, Decimal(2.35557))
Chaı̂nes de
caractères >>> t
ISéquences
Dictionnaires (’abcde’, 12345, Decimal(’
Ensembles 2.35557000000000016370904631912708282470703125’))
Syntaxe

Modules et
fonctions Les tuples sont toujours représentés avec des parenthèses.
Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  66 / 169 v1.1.0
Remarques

Présentation
du module

Présentation
de Python • Il est possible d’imbriquer des tuples.
Types et
Opérations
Types
>>> t = (123, "abcde", 18.1)
Les types >>> t
numériques
Booléens (123, ’abcde’, 18.1)
Type “rien”
Chaı̂nes de
caractères
ISéquences
>>> u = (t, "xyz")
Dictionnaires >>> u
Ensembles
((123, ’abcde’, 18.1), ’xyz’)
Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  67 / 169 v1.1.0
Remarques

Présentation
du module

Présentation
de Python • Pour créer un tuple vide, on l’initialise juste avec des
Types et parenthèses ou avec t = tuple().
Opérations
Types
Les types
numériques
Booléens
Type “rien”
Chaı̂nes de
caractères
ISéquences
Dictionnaires
>>> t = ()
Ensembles >>> t
Syntaxe ()
Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  68 / 169 v1.1.0
Remarques

Présentation
du module

Présentation
de Python • Pour créer un tuple vide, on l’initialise juste avec des
Types et parenthèses ou avec t = tuple().
Opérations
Types
Les types
• Si un tuple ne contient qu’un élément il faut quand même
numériques
Booléens mettre une virgule sinon Python convertit le tuple en type de
Type “rien”
Chaı̂nes de son unique élément.
caractères
ISéquences
Dictionnaires
>>> t = () >>> t = (1) >>> t = (1,)
Ensembles >>> t >>> type(t) >>> t
Syntaxe () <class ’int’> (1,)
Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  68 / 169 v1.1.0
Listes

Présentation
du module
Définition
Présentation
de Python Les listes sont similaires aux tuples, mais il est possible de
Types et
Opérations
modifier / ajouter / supprimer des éléments d’une liste sans créer
Types
Les types
un nouvel objet. Les listes sont modifiables.
numériques
Booléens
Type “rien”
Chaı̂nes de
caractères
ISéquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  69 / 169 v1.1.0
Listes

Présentation
du module
Définition
Présentation
de Python Les listes sont similaires aux tuples, mais il est possible de
Types et
Opérations
modifier / ajouter / supprimer des éléments d’une liste sans créer
Types
Les types
un nouvel objet. Les listes sont modifiables.
numériques
Booléens
Type “rien”
Chaı̂nes de
caractères >>> l = ["abcde", 12345, 3.14]
ISéquences
Dictionnaires >>> l
Ensembles
[’abcde’, 12345, 3.14]
Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  69 / 169 v1.1.0
Listes

Présentation
du module
Définition
Présentation
de Python Les listes sont similaires aux tuples, mais il est possible de
Types et
Opérations
modifier / ajouter / supprimer des éléments d’une liste sans créer
Types
Les types
un nouvel objet. Les listes sont modifiables.
numériques
Booléens
Type “rien”
Chaı̂nes de
caractères >>> l = ["abcde", 12345, 3.14]
ISéquences
Dictionnaires >>> l
Ensembles
[’abcde’, 12345, 3.14]
Syntaxe

Modules et
fonctions Les listes sont représentées avec des crochets.
Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  69 / 169 v1.1.0
Remarques

Présentation
du module

Présentation
de Python Similairement aux tuples :
Types et
Opérations
• Les listes sont imbriquables
Types
Les types
numériques
Booléens
Type “rien”
Chaı̂nes de
>>> l = ["abcde", 12345, 3.14]
caractères
ISéquences
>>> m = [l, 3.845]
Dictionnaires >>> m
Ensembles
[[’abcde’, 12345, 3.14], 3.845]
Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  70 / 169 v1.1.0
Remarques

Présentation
du module

Présentation
de Python Similairement aux tuples :
Types et
Opérations
• Les listes sont imbriquables
Types
Les types • Une liste vide s’initialise avec des crochets ou avec l = list()
numériques
Booléens
Type “rien”
Chaı̂nes de
>>> l = ["abcde", 12345, 3.14]
caractères
>>> l = []
>>> m = [l, 3.845]
ISéquences >>> l
Dictionnaires >>> m
Ensembles []
[[’abcde’, 12345, 3.14], 3.845]
Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  70 / 169 v1.1.0
Opérations

Présentation
du module

Présentation
Du fait de leurs caractères modifiables, les listes possèdent
de Python quelques opérateurs supplémentaires :
Types et
Opérations
Types
Opérateur Signification
Les types
numériques l[i] = x i-ième élément remplacé par x
Booléens
Type “rien” l[i:j] = m les éléments entre les positions i et j sont
Chaı̂nes de
caractères remplacés par la liste m
ISéquences
Dictionnaires del(L[i:j]) supprimes les éléments entre les positions i et j
Ensembles

Syntaxe
l += m ajoute la liste m à l
Modules et
l *= n ajoute n-1 fois l à elle-même
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  71 / 169 v1.1.0
Fonctions

Présentation Les listes bénéficient aussi de fonctions supplémentaires :


du module

Présentation Fonction Signification


de Python

Types et
l.append(x) ajoute x à la fin de l
Opérations l.extend(m) ajoute la liste m à la fin de l
Types
Les types
numériques
l.insert(i,x) insert x à la position i
Booléens
Type “rien”
l.remove(x) supprime tous les x dans l
Chaı̂nes de
caractères l.pop(i) retourne et supprime de la liste l’élément à
ISéquences
Dictionnaires la position i
Ensembles
l.clear() vide la liste
Syntaxe
l.reverse() inverse l’ordre des éléments
Modules et
fonctions l.copy() copie la liste
Fichiers et l.sort() trie les éléments de la liste par ordre croissant
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  72 / 169 v1.1.0
Ranges

Présentation
du module Définition
Présentation
de Python
Les ranges sont des séquences immuables de nombres entiers.
Types et
Elles sont définies à partir de bornes initiale, finale et d’un pas.
Opérations
Types
Les types
numériques
Booléens
Type “rien”
Chaı̂nes de
caractères
ISéquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  73 / 169 v1.1.0
Ranges

Présentation
du module Définition
Présentation
de Python
Les ranges sont des séquences immuables de nombres entiers.
Types et
Elles sont définies à partir de bornes initiale, finale et d’un pas.
Opérations
Types
Les types
La borne intiale par défaut est 0
numériques
Booléens Le pas par défaut est 1
Type “rien”
Chaı̂nes de
caractères Pour visualiser une range on la convertit en liste
ISéquences
Dictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  73 / 169 v1.1.0
Ranges

Présentation
du module Définition
Présentation
de Python
Les ranges sont des séquences immuables de nombres entiers.
Types et
Elles sont définies à partir de bornes initiale, finale et d’un pas.
Opérations
Types
Les types
La borne intiale par défaut est 0
numériques
Booléens Le pas par défaut est 1
Type “rien”
Chaı̂nes de
caractères Pour visualiser une range on la convertit en liste
ISéquences
Dictionnaires
Ensembles

Syntaxe >>> r = list(range(5))


Modules et >>> r
fonctions
[0, 1, 2, 3, 4]
Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  73 / 169 v1.1.0
Déroulement de la présentation

Présentation
1 Présentation du module 5 Modules et fonctions
du module

Présentation
de Python 2 Présentation de Python 6 Fichiers et itérateurs
Types et
Opérations
Types 3 Types et Opérations 7 Conclusion
Les types
numériques
Booléens
Types
Type “rien”
Chaı̂nes de
Les types numériques
caractères
Séquences Booléens
IDictionnaires
Ensembles Type “rien”
Syntaxe Chaı̂nes de caractères
Modules et
fonctions
Séquences
Fichiers et
Dictionnaires
itérateurs
Ensembles
Conclusion

References
4 Python
Cours Intro Syntaxe  19/10/2018  74 / 169 v1.1.0
Dictionnaires

Présentation
du module Définition
Présentation
de Python
Les dictionnaires sont semblables aux listes, mais sont différents
Types et
pour le référencement des valeurs. Au lieu d’associer un élément
Opérations
Types
à sa position, un dictionnaire lui associe une clé.
Les types
numériques
Booléens
Type “rien”
Chaı̂nes de
caractères
Séquences
IDictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  75 / 169 v1.1.0
Dictionnaires

Présentation
du module Définition
Présentation
de Python
Les dictionnaires sont semblables aux listes, mais sont différents
Types et
pour le référencement des valeurs. Au lieu d’associer un élément
Opérations
Types
à sa position, un dictionnaire lui associe une clé.
Les types
numériques
Une clé est un élément de type immuable (entier, réel, chaı̂ne,
Booléens
Type “rien” tuple).
Chaı̂nes de
caractères
Séquences
IDictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  75 / 169 v1.1.0
Dictionnaires

Présentation
du module Définition
Présentation
de Python
Les dictionnaires sont semblables aux listes, mais sont différents
Types et
pour le référencement des valeurs. Au lieu d’associer un élément
Opérations
Types
à sa position, un dictionnaire lui associe une clé.
Les types
numériques
Une clé est un élément de type immuable (entier, réel, chaı̂ne,
Booléens
Type “rien” tuple).
Chaı̂nes de
caractères
Séquences
IDictionnaires
Ensembles >>> dico = {"bleu": "0000FF", "vert": "00FF00", "rouge":
Syntaxe "FF0000"}
Modules et >>> dico["bleu"]
fonctions
’0000FF’
Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  75 / 169 v1.1.0
Remarques

Présentation • Un dictionnaire n’est pas triable (ses éléments ne sont pas


du module

Présentation
ordonnés).
de Python

Types et
Opérations
Types
Les types
numériques
Booléens
Type “rien”
Chaı̂nes de
caractères
Séquences
IDictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  76 / 169 v1.1.0
Remarques

Présentation • Un dictionnaire n’est pas triable (ses éléments ne sont pas


du module

Présentation
ordonnés).
de Python
• On accède à un élément d’un dictionnaire pas sa clé.
Types et
Opérations
Types
Les types
numériques
Booléens
Type “rien”
Chaı̂nes de
caractères
Séquences
IDictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  76 / 169 v1.1.0
Remarques

Présentation • Un dictionnaire n’est pas triable (ses éléments ne sont pas


du module

Présentation
ordonnés).
de Python
• On accède à un élément d’un dictionnaire pas sa clé.
Types et
Opérations • On peut ajouter / modifier / supprimer un élément du
Types
Les types
numériques
dictionnaire : les dictionnaires sont modifiables.
Booléens
Type “rien”
Chaı̂nes de
caractères
Séquences
IDictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  76 / 169 v1.1.0
Remarques

Présentation • Un dictionnaire n’est pas triable (ses éléments ne sont pas


du module

Présentation
ordonnés).
de Python
• On accède à un élément d’un dictionnaire pas sa clé.
Types et
Opérations • On peut ajouter / modifier / supprimer un élément du
Types
Les types
numériques
dictionnaire : les dictionnaires sont modifiables.
Booléens
Type “rien” • On initialise un dictionnaire vide par des accolades ou avec
Chaı̂nes de
caractères d = dict().
Séquences
IDictionnaires
Ensembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  76 / 169 v1.1.0
Remarques

Présentation • Un dictionnaire n’est pas triable (ses éléments ne sont pas


du module

Présentation
ordonnés).
de Python
• On accède à un élément d’un dictionnaire pas sa clé.
Types et
Opérations • On peut ajouter / modifier / supprimer un élément du
Types
Les types
numériques
dictionnaire : les dictionnaires sont modifiables.
Booléens
Type “rien” • On initialise un dictionnaire vide par des accolades ou avec
Chaı̂nes de
caractères d = dict().
Séquences
IDictionnaires
Ensembles

Syntaxe >>> dico["jaune"] = "00FFFF"


Modules et >>> dico
fonctions
{’bleu’: ’0000FF’, ’vert’: ’00FF00’, ’rouge’: ’FF0000’, ’
Fichiers et jaune’: ’00FFFF’}
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  76 / 169 v1.1.0
Opérations

Présentation
du module

Présentation
de Python Les opérations suivantes s’appliquent aux dictionnaires :
Types et
Opérations Opérateur Signification
Types
Les types
numériques
x in d x est dans une des clés de d
Booléens
Type “rien”
x not in d x n’est pas dans une des clés de d
Chaı̂nes de
caractères
d[c] retourne l’élément associé à la clé c
Séquences
IDictionnaires
len(d) nombre d’éléments de d
Ensembles
del(d[c]) supprime l’élément associé à la clé c
Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  77 / 169 v1.1.0
Fonctions

Présentation
du module

Présentation Les fonctions suivantes sont utilisables sur les dictionnaires :


de Python

Types et Fonction Signification


Opérations
Types
d.items() retourne une liste des couples (clé,valeur)
Les types
numériques du dictionnaire
Booléens
Type “rien”
list(d.keys()) retourne une liste des clés du dictionnaire
Chaı̂nes de
caractères
list(d.values()) retourne une liste des valeurs du dictionnaire
Séquences
IDictionnaires
d.update(d2) ajoute à d2 les valeurs de d qui n’étaient
Ensembles
pas déjà dans d2
Syntaxe
d.clear() vide le dictionnaire
Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  78 / 169 v1.1.0
Déroulement de la présentation

Présentation
1 Présentation du module 5 Modules et fonctions
du module

Présentation
de Python 2 Présentation de Python 6 Fichiers et itérateurs
Types et
Opérations
Types 3 Types et Opérations 7 Conclusion
Les types
numériques
Booléens
Types
Type “rien”
Chaı̂nes de
Les types numériques
caractères
Séquences Booléens
Dictionnaires
IEnsembles Type “rien”
Syntaxe Chaı̂nes de caractères
Modules et
fonctions
Séquences
Fichiers et
Dictionnaires
itérateurs
Ensembles
Conclusion

References
Syntaxe
4 Python
Cours Intro  19/10/2018  79 / 169 v1.1.0
Ensembles

Présentation
du module

Présentation Définition
de Python
Les ensembles (set) sont des collections non ordonnées d’objets.
Types et
Opérations Ils sont similaires aux listes ou aux dictionnaires et possèdent
Types
Les types
numériques
certaines propriétés des types numériques.
Booléens
Type “rien”
Chaı̂nes de
caractères
Séquences
Dictionnaires
IEnsembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  80 / 169 v1.1.0
Ensembles

Présentation
du module

Présentation Définition
de Python
Les ensembles (set) sont des collections non ordonnées d’objets.
Types et
Opérations Ils sont similaires aux listes ou aux dictionnaires et possèdent
Types
Les types
numériques
certaines propriétés des types numériques.
Booléens
Type “rien”
Chaı̂nes de
caractères
Séquences >>> a = set("ensg geomatique")
Dictionnaires
IEnsembles
>>> a
Syntaxe
{’q’, ’g’, ’e’, ’a’, ’t’, ’u’, ’m’, ’n’, ’o’, ’i’, ’ ’, ’
s’}
Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  80 / 169 v1.1.0
Remarques

Présentation
du module
Les ensembles :
Présentation
de Python

Types et
Opérations
Types
Les types
numériques
Booléens
Type “rien”
Chaı̂nes de
caractères
Séquences
Dictionnaires
IEnsembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  81 / 169 v1.1.0
Remarques

Présentation
du module
Les ensembles :
Présentation
de Python
• sont itérables (il est possible de retourner les éléments qui els
Types et
composent les uns à la suite des autres).
Opérations
Types
Les types
numériques
Booléens
Type “rien”
Chaı̂nes de
caractères
Séquences
Dictionnaires
IEnsembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  81 / 169 v1.1.0
Remarques

Présentation
du module
Les ensembles :
Présentation
de Python
• sont itérables (il est possible de retourner les éléments qui els
Types et
composent les uns à la suite des autres).
Opérations
Types • sont modifiables (ajout / modification / suppression
Les types
numériques d’éléments).
Booléens
Type “rien”
Chaı̂nes de
caractères
Séquences
Dictionnaires
IEnsembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  81 / 169 v1.1.0
Remarques

Présentation
du module
Les ensembles :
Présentation
de Python
• sont itérables (il est possible de retourner les éléments qui els
Types et
composent les uns à la suite des autres).
Opérations
Types • sont modifiables (ajout / modification / suppression
Les types
numériques d’éléments).
Booléens
Type “rien”
Chaı̂nes de
• peuvent contenir tout type d’objets.
caractères
Séquences
Dictionnaires
IEnsembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  81 / 169 v1.1.0
Remarques

Présentation
du module
Les ensembles :
Présentation
de Python
• sont itérables (il est possible de retourner les éléments qui els
Types et
composent les uns à la suite des autres).
Opérations
Types • sont modifiables (ajout / modification / suppression
Les types
numériques d’éléments).
Booléens
Type “rien”
Chaı̂nes de
• peuvent contenir tout type d’objets.
caractères
Séquences
Dictionnaires
• supportent les propriétés mathématiques des ensembles.
IEnsembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  81 / 169 v1.1.0
Remarques

Présentation
du module
Les ensembles :
Présentation
de Python
• sont itérables (il est possible de retourner les éléments qui els
Types et
composent les uns à la suite des autres).
Opérations
Types • sont modifiables (ajout / modification / suppression
Les types
numériques d’éléments).
Booléens
Type “rien”
Chaı̂nes de
• peuvent contenir tout type d’objets.
caractères
Séquences
Dictionnaires
• supportent les propriétés mathématiques des ensembles.
IEnsembles
• ne sont pas indexables (impossible de récupérer un élément à
Syntaxe

Modules et
partir de sa position).
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  81 / 169 v1.1.0
Remarques

Présentation
du module
Les ensembles :
Présentation
de Python
• sont itérables (il est possible de retourner les éléments qui els
Types et
composent les uns à la suite des autres).
Opérations
Types • sont modifiables (ajout / modification / suppression
Les types
numériques d’éléments).
Booléens
Type “rien”
Chaı̂nes de
• peuvent contenir tout type d’objets.
caractères
Séquences
Dictionnaires
• supportent les propriétés mathématiques des ensembles.
IEnsembles
• ne sont pas indexables (impossible de récupérer un élément à
Syntaxe

Modules et
partir de sa position).
fonctions
• ne contiennent pas d’objets en double.
Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  81 / 169 v1.1.0
Opérations

Présentation Les ensembles supportent les opérations suivantes :


du module

Présentation Opérateur Signification


de Python
a&b intersection
Types et
Opérations a|b union
Types
Les types a-b différence
numériques
Booléens
Type “rien”
aˆb différence symétrique
Chaı̂nes de
caractères
Séquences
Dictionnaires
IEnsembles

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  82 / 169 v1.1.0
Opérations

Présentation Les ensembles supportent les opérations suivantes :


du module

Présentation Opérateur Signification


de Python
a&b intersection
Types et
Opérations a|b union
Types
Les types a-b différence
numériques
Booléens
Type “rien”
aˆb différence symétrique
Chaı̂nes de
caractères
Séquences
Dictionnaires
IEnsembles
Différences
Syntaxe a - b retourne les éléments qui sont dans a et pas dans b.
Modules et
fonctions
aˆb retourne les éléments qui sont dans a ou dans b mais
Fichiers et pas dans les deux.
itérateurs

Conclusion

References
Cours Intro Python  19/10/2018  82 / 169 v1.1.0
Examples

>>> a = set("ensg geomatique")


Présentation
du module >>> a
Présentation {’q’, ’g’, ’e’, ’a’, ’t’, ’u’, ’m’, ’n’, ’o’, ’i’, ’ ’, ’s’}
de Python

Types et >>> b = set("je suis un ensemble")


Opérations
Types
>>> b
Les types
numériques
{’l’, ’e’, ’m’, ’s’, ’n’, ’b’, ’i’, ’j’, ’ ’, ’u’}
Booléens
Type “rien”
Chaı̂nes de >>> a & b
caractères
Séquences
{’e’, ’u’, ’m’, ’n’, ’i’, ’ ’, ’s’}
Dictionnaires
IEnsembles
>>> a - b
Syntaxe
{’o’, ’q’, ’t’, ’a’, ’g’}
Modules et
fonctions

Fichiers et
>>> a ^ b
itérateurs {’q’, ’l’, ’g’, ’a’, ’t’, ’b’, ’o’, ’j’}
Conclusion

References
Cours Intro Python  19/10/2018  83 / 169 v1.1.0
Fonctions

Présentation
Les ensembles supportent les fonctions suivantes :
du module

Présentation Fonction Signification


de Python
s.add(x) ajoute x s’il n’est pas déjà présent
Types et
Opérations s.remove(x) enlève x s’il est présent dans l’ensemble
Types
Les types s.copy() copie s
numériques
Booléens s.clear() vide s
Type “rien”
Chaı̂nes de
caractères
s.issubset(t) retourne True si s est inclus dans t
Séquences
Dictionnaires
s.isdisjoint(t) retourne True si l’intersection de s et t
IEnsembles
est vide
Syntaxe s.pop() retire un élément aléatoirement
Modules et
fonctions
s.difference(t) renvoie la différence entre s et t
Fichiers et
s.difference update(t) modifie s pour qu’il devienne la
itérateurs différence entre s et t
Conclusion

References
Cours Intro Python  19/10/2018  84 / 169 v1.1.0
Déroulement de la présentation

Présentation
du module

Présentation
de Python
1 Présentation du module 5 Modules et fonctions
Types et
Opérations

ISyntaxe
Structure du
2 Présentation de Python 6 Fichiers et itérateurs
code
Affectation
Tests
Boucles 3 Types et Opérations 7 Conclusion
Modules et
fonctions

Fichiers et 4 Syntaxe
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  85 / 169 v1.1.0


Syntaxe

Présentation Maintenant que nous maı̂trisons les


du module
différents types de données, nous al-
Présentation
de Python lons nous intéresser à la rédaction de
Types et programmes en Python.
Opérations

ISyntaxe
Structure du
code
Affectation
Tests
Boucles

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  86 / 169 v1.1.0


Syntaxe

Présentation Maintenant que nous maı̂trisons les


du module
différents types de données, nous al-
Présentation
de Python lons nous intéresser à la rédaction de
Types et programmes en Python.
Opérations

ISyntaxe Les blocs sont définis par un ensemble


Structure du
code
Affectation
d’instructions consécutives situés à un
Tests
Boucles
même niveau d’indentation. Le retour
Modules et à un niveau d’indentation inférieur
fonctions
marque la fin d’un bloc.
Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  86 / 169 v1.1.0


Syntaxe

Présentation Maintenant que nous maı̂trisons les


du module
différents types de données, nous al-
Présentation
de Python lons nous intéresser à la rédaction de
Types et programmes en Python.
Opérations

ISyntaxe Les blocs sont définis par un ensemble


Structure du
code
Affectation
d’instructions consécutives situés à un
Tests
Boucles
même niveau d’indentation. Le retour
Modules et à un niveau d’indentation inférieur
fonctions
marque la fin d’un bloc.
Fichiers et
itérateurs

Conclusion
L’instruction qui débute le bloc se ter-
References
mine par “:”.

Cours Intro Python  19/10/2018  86 / 169 v1.1.0


Déroulement de la présentation

Présentation
du module
1 Présentation du module 5 Modules et fonctions
Présentation
de Python

Types et
Opérations
2 Présentation de Python 6 Fichiers et itérateurs
Syntaxe
IStructure du
code 3 Types et Opérations 7 Conclusion
Affectation
Tests
Boucles

Modules et 4 Syntaxe
fonctions
Structure du code
Fichiers et
itérateurs Affectation
Conclusion Tests
References Boucles

Cours Intro Python  19/10/2018  87 / 169 v1.1.0


Structure du code

Contrairement à d’autres langages (C++, Java, . . .), il n’y a pas


Présentation
du module de caractère de fin d’instruction en Python. Chaque instruction
Présentation est donc écrite sur une ligne différente. Le recul d’un indentation
de Python
marque la fin d’un bloc.
Types et
Opérations

Syntaxe
IStructure du
code
Affectation
Tests
Boucles

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  88 / 169 v1.1.0


Structure du code

Contrairement à d’autres langages (C++, Java, . . .), il n’y a pas


Présentation
du module de caractère de fin d’instruction en Python. Chaque instruction
Présentation est donc écrite sur une ligne différente. Le recul d’un indentation
de Python
marque la fin d’un bloc.
Types et
Opérations

Syntaxe if condition:
IStructure du
code instruction1
Affectation
Tests
instruction2
Boucles instruction3
Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  88 / 169 v1.1.0


Structure du code

Contrairement à d’autres langages (C++, Java, . . .), il n’y a pas


Présentation
du module de caractère de fin d’instruction en Python. Chaque instruction
Présentation est donc écrite sur une ligne différente. Le recul d’un indentation
de Python
marque la fin d’un bloc.
Types et
Opérations

Syntaxe if condition:
IStructure du
code instruction1
Affectation
Tests
instruction2
Boucles instruction3
Modules et
fonctions

Fichiers et
itérateurs Remarque
Conclusion Les espaces et les sauts de ligne ne sont pas pris en compte par
References
l’interpréteur Python.

Cours Intro Python  19/10/2018  88 / 169 v1.1.0


Structure du code

Présentation
du module

Présentation
de Python

Types et
Opérations

Syntaxe
IStructure du
code
Affectation
Tests
Boucles

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  89 / 169 v1.1.0


Commentaires

Présentation
du module

Présentation
de Python Python permet d’ajouter des commentaires dans le code, qui sont
Types et
Opérations
ignorés par l’interpréteur. Il en existe 2 types principaux :
Syntaxe
IStructure du
code
Affectation
Tests
Boucles

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  90 / 169 v1.1.0


Commentaires

Présentation
du module

Présentation
de Python Python permet d’ajouter des commentaires dans le code, qui sont
Types et
Opérations
ignorés par l’interpréteur. Il en existe 2 types principaux :
Syntaxe
IStructure du
• commentaire simple : commence par “]” et termine à la fin
code
Affectation
de la ligne
Tests
Boucles

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  90 / 169 v1.1.0


Commentaires

Présentation
du module

Présentation
de Python Python permet d’ajouter des commentaires dans le code, qui sont
Types et
Opérations
ignorés par l’interpréteur. Il en existe 2 types principaux :
Syntaxe
IStructure du
• commentaire simple : commence par “]” et termine à la fin
code
Affectation
de la ligne
Tests
Boucles • les docstrings : chaı̂ne de caractères commençant et finissant
Modules et
fonctions
par 3 guillemets
Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  90 / 169 v1.1.0


Commentaires

def nb_points_sub_domain(points):
Présentation
du module """
Présentation Fonction qui calcule le nombre de points appartenant
de Python àun sous-domaine précis, pour une liste de points donnée
Types et
Opérations
:param points: liste de points
Syntaxe :return: nombre de points appartenant au sous-domaine
IStructure du
code """
Affectation
Tests nb_points = 0
Boucles
# On parcours la liste de points et on cherche
Modules et # leur appartenance au cercle trigonométrique
fonctions
for point in points:
Fichiers et
itérateurs if is_inside_circle(point[0],point[1]):
Conclusion
nb_points += 1
print (nb_points)
References
return nb_points

Cours Intro Python  19/10/2018  91 / 169 v1.1.0


Déroulement de la présentation

Présentation
du module
1 Présentation du module 5 Modules et fonctions
Présentation
de Python

Types et
Opérations
2 Présentation de Python 6 Fichiers et itérateurs
Syntaxe
Structure du
code 3 Types et Opérations 7 Conclusion
IAffectation
Tests
Boucles

Modules et 4 Syntaxe
fonctions
Structure du code
Fichiers et
itérateurs Affectation
Conclusion Tests
References Boucles

Cours Intro Python  19/10/2018  92 / 169 v1.1.0


Affectation

Présentation
du module • Pour affecter une valeur à une variable, on utilise le signe
Présentation “=”.
de Python

Types et
Opérations

Syntaxe
Structure du
code
IAffectation
Tests
Boucles >>> a = 1
Modules et >>> a
fonctions 1
Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  93 / 169 v1.1.0


Affectation

Présentation
du module • Pour affecter une valeur à une variable, on utilise le signe
Présentation “=”.
de Python

Types et • Il est également possible de réaliser plusieurs affectations en


Opérations
une seule instruction.
Syntaxe
Structure du
code
IAffectation
Tests
Boucles >>> a = 1 >>> a,b = 1,2 >>> a = b = 1
Modules et >>> a >>> a >>> a
fonctions 1 1 1
Fichiers et >>> b >>> b
itérateurs
2 1
Conclusion

References

Cours Intro Python  19/10/2018  93 / 169 v1.1.0


Affectations augmentées

Dans une seule instruction, Python peut réaliser une affectation


Présentation et modifier la valeur de la variable cible ensuite. Cela s’appelle
du module

Présentation
une affectation augmentée.
de Python

Types et
Opérations

Syntaxe
Structure du
code
IAffectation
Tests
Boucles

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  94 / 169 v1.1.0


Affectations augmentées

Dans une seule instruction, Python peut réaliser une affectation


Présentation et modifier la valeur de la variable cible ensuite. Cela s’appelle
du module

Présentation
une affectation augmentée.
de Python Ainsi, les instructions suivantes sont équivalentes :
Types et
Opérations
>>> a = 3 >>> a = 3
Syntaxe
Structure du >>> a = a + 3 >>> a += 3
code
IAffectation
>>> a >>> a
Tests 6 6
Boucles

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  94 / 169 v1.1.0


Affectations augmentées

Dans une seule instruction, Python peut réaliser une affectation


Présentation et modifier la valeur de la variable cible ensuite. Cela s’appelle
du module

Présentation
une affectation augmentée.
de Python Ainsi, les instructions suivantes sont équivalentes :
Types et
Opérations
>>> a = 3 >>> a = 3
Syntaxe
Structure du >>> a = a + 3 >>> a += 3
code
IAffectation
>>> a >>> a
Tests 6 6
Boucles

Modules et
fonctions

Fichiers et Remarque
itérateurs

Conclusion Les affectations augmentées fonctionnent avec tous les types de


References données et tous les opérateurs, il suffit de rajouter un “=”
derrière l’opérateur : +=, *=, %=, . . .

Cours Intro Python  19/10/2018  94 / 169 v1.1.0


Déroulement de la présentation

Présentation
du module
1 Présentation du module 5 Modules et fonctions
Présentation
de Python

Types et
Opérations
2 Présentation de Python 6 Fichiers et itérateurs
Syntaxe
Structure du
code 3 Types et Opérations 7 Conclusion
Affectation
ITests
Boucles

Modules et 4 Syntaxe
fonctions
Structure du code
Fichiers et
itérateurs Affectation
Conclusion Tests
References Boucles

Cours Intro Python  19/10/2018  95 / 169 v1.1.0


Tests

“if”
Présentation
du module
Les tests permettent de réaliser différentes instructions selon une
Présentation condition. On teste cette condition avec le mot clé “if”.
de Python

Types et
Opérations

Syntaxe
Structure du
code
Affectation
ITests
Boucles

Modules et >>> x = 1
fonctions
>>> if (x > 0):
Fichiers et print(x)
itérateurs

Conclusion
1
References

Cours Intro Python  19/10/2018  96 / 169 v1.1.0


Tests

“if”
Présentation
du module
Les tests permettent de réaliser différentes instructions selon une
Présentation condition. On teste cette condition avec le mot clé “if”.
de Python

Types et “else”
Opérations

Syntaxe
S’il faut réaliser d’autres instructions dans le cas ou la condition
Structure du
code
n’est pas vérifiée, on utilise le mot clé “else”.
Affectation
ITests
Boucles

Modules et >>> x = 1 >>> if (x < 0):


fonctions
>>> if (x > 0): print("x négatif")
Fichiers et print(x) else:
itérateurs
print("x positif")
Conclusion
1
References x positif

Cours Intro Python  19/10/2018  96 / 169 v1.1.0


Tests

“elif”
Présentation
du module
S’il faut réaliser plusieurs tests, ou si on veut différencier plus que
Présentation 2 possibilités pour la condition, on peut utiliser le mot clé “elif”.
de Python

Types et
Opérations

Syntaxe
Structure du
code
Affectation
ITests
Boucles

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  97 / 169 v1.1.0


Tests

“elif”
Présentation
du module
S’il faut réaliser plusieurs tests, ou si on veut différencier plus que
Présentation 2 possibilités pour la condition, on peut utiliser le mot clé “elif”.
de Python

Types et >>> if (x > 5):


Opérations
print ("x > 5")
Syntaxe
Structure du
elif (x > 0):
code print ("0 < x < 5")
Affectation
ITests else:
Boucles
print ("x < 0")
Modules et
fonctions
0 < x < 5
Fichiers et
itérateurs

Conclusion
Indentation
References En Python, la structure étant caractérisée par l’indentation, il
faut penser à indenter les instructions qui suivent chaque “if”,
“elif” ou “else”.
Cours Intro Python  19/10/2018  97 / 169 v1.1.0
Simplification des conditions

Présentation
du module

Présentation
Il est possible de simplifier l’écriture de certaines conditions
de Python lorsque la valeur est comparée à None, un booléen ou 0.
Types et
Opérations

Syntaxe
Structure du
code
Affectation
ITests
Boucles

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  98 / 169 v1.1.0


Simplification des conditions

Présentation
du module

Présentation
Il est possible de simplifier l’écriture de certaines conditions
de Python lorsque la valeur est comparée à None, un booléen ou 0.
Types et
Opérations Valeur Test Test simplifié
Syntaxe
Structure du
code
Affectation
ITests
Boucles

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  98 / 169 v1.1.0


Simplification des conditions

Présentation
du module

Présentation
Il est possible de simplifier l’écriture de certaines conditions
de Python lorsque la valeur est comparée à None, un booléen ou 0.
Types et
Opérations Valeur Test Test simplifié
Syntaxe
Structure du
None if x == None if not x
code
Affectation None if x != None if x
ITests
Boucles

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  98 / 169 v1.1.0


Simplification des conditions

Présentation
du module

Présentation
Il est possible de simplifier l’écriture de certaines conditions
de Python lorsque la valeur est comparée à None, un booléen ou 0.
Types et
Opérations Valeur Test Test simplifié
Syntaxe
Structure du
None if x == None if not x
code
Affectation None if x != None if x
ITests
Boucles Booléen if x == True if x
Modules et Booléen if x == False if not x
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  98 / 169 v1.1.0


Simplification des conditions

Présentation
du module

Présentation
Il est possible de simplifier l’écriture de certaines conditions
de Python lorsque la valeur est comparée à None, un booléen ou 0.
Types et
Opérations Valeur Test Test simplifié
Syntaxe
Structure du
None if x == None if not x
code
Affectation None if x != None if x
ITests
Boucles Booléen if x == True if x
Modules et Booléen if x == False if not x
fonctions

Fichiers et
Zéro if x == 0 if not x
itérateurs Zéro if x != 0 if x
Conclusion

References

Cours Intro Python  19/10/2018  98 / 169 v1.1.0


Tests

Présentation
du module “pass”
Présentation
de Python
Lors qu’aucune instruction ne doit être réalisée, selon une certaine
Types et
condition, on utilise le mot clé “pass”.
Opérations

Syntaxe
Structure du
code
Affectation
ITests
Boucles

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  99 / 169 v1.1.0


Tests

Présentation
du module “pass”
Présentation
de Python
Lors qu’aucune instruction ne doit être réalisée, selon une certaine
Types et
condition, on utilise le mot clé “pass”.
Opérations

Syntaxe
Structure du
code >>> if (not x):
Affectation
ITests
pass
Boucles elif (x > 0):
Modules et print ("x positif")
fonctions
else:
Fichiers et
itérateurs
print ("x négatif")
Conclusion
x positif
References

Cours Intro Python  19/10/2018  99 / 169 v1.1.0


Déroulement de la présentation

Présentation
du module
1 Présentation du module 5 Modules et fonctions
Présentation
de Python

Types et
Opérations
2 Présentation de Python 6 Fichiers et itérateurs
Syntaxe
Structure du
code 3 Types et Opérations 7 Conclusion
Affectation
Tests
IBoucles

Modules et 4 Syntaxe
fonctions
Structure du code
Fichiers et
itérateurs Affectation
Conclusion Tests
References Boucles

Cours Intro Python  19/10/2018  100 / 169 v1.1.0


Boucles

Présentation
du module

Présentation
de Python
Définition
Types et
Opérations Les boucles permettent d’exécuter plusieurs fois un bloc
Syntaxe d’instructions. En Python les mots clés “while” et “for” sont
Structure du
code utilisés pour faire des boucles.
Affectation
Tests
IBoucles

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  101 / 169 v1.1.0


Boucles

Présentation
du module

Présentation
de Python
Définition
Types et
Opérations Les boucles permettent d’exécuter plusieurs fois un bloc
Syntaxe d’instructions. En Python les mots clés “while” et “for” sont
Structure du
code utilisés pour faire des boucles.
Affectation
Tests
IBoucles

Modules et
fonctions
Les instructions à l’intérieur d’une boucle sont indentées. C’est le
Fichiers et
retour à l’indentation initiale qui marque la fin de la boucle.
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  101 / 169 v1.1.0


Boucle while

Définition
Présentation
du module
Le boucle while permet de réaliser un bloc d’instructions tant que
Présentation la condition est réalisée. Il est possible de rajouter un “else” qui
de Python
contiendra des instructions réalisées une fois que les itérations de
Types et
Opérations la boucle sont terminées.
Syntaxe
Structure du
code
Affectation
Tests
IBoucles

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  102 / 169 v1.1.0


Boucle while

Définition
Présentation
du module
Le boucle while permet de réaliser un bloc d’instructions tant que
Présentation la condition est réalisée. Il est possible de rajouter un “else” qui
de Python
contiendra des instructions réalisées une fois que les itérations de
Types et
Opérations la boucle sont terminées.
Syntaxe
Structure du >>> x = 0
code
Affectation >>> while (x < 3):
Tests print(x)
IBoucles
x += 1
Modules et
fonctions else:
Fichiers et print("boucle terminée")
itérateurs

Conclusion 0
References 1
2
boucle terminée
Cours Intro Python  19/10/2018  102 / 169 v1.1.0
Boucle while

Définition
Présentation
du module
Le boucle while permet de réaliser un bloc d’instructions tant que
Présentation la condition est réalisée. Il est possible de rajouter un “else” qui
de Python
contiendra des instructions réalisées une fois que les itérations de
Types et
Opérations la boucle sont terminées.
Syntaxe
Structure du >>> x = 0
code
Affectation >>> while (x < 3):
Tests print(x)
IBoucles
x += 1
Modules et
fonctions else: Attention
Fichiers et print("boucle terminée") Attention aux boucles
itérateurs

Conclusion 0 infinies (while True) !


References 1
2
boucle terminée
Cours Intro Python  19/10/2018  102 / 169 v1.1.0
Boucle for

Définition
Présentation
du module
Le boucle for permet d’itérer une séquence (liste, tuple, range,
Présentation dictionnaire, . . .) et d’exécuter un bloc d’instructions pour tous
de Python
les éléments de cette séquence. Comme pour la boucle for, il est
Types et
Opérations possible d’ajouter un “else” à la fin.
Syntaxe
Structure du
code
Affectation
Tests
IBoucles

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  103 / 169 v1.1.0


Boucle for

Définition
Présentation
du module
Le boucle for permet d’itérer une séquence (liste, tuple, range,
Présentation dictionnaire, . . .) et d’exécuter un bloc d’instructions pour tous
de Python
les éléments de cette séquence. Comme pour la boucle for, il est
Types et
Opérations possible d’ajouter un “else” à la fin.
Syntaxe
Structure du
code
>>> x = 0
Affectation >>> for i in range(3):
Tests
IBoucles print (x)
Modules et x += 1
fonctions else:
Fichiers et print ("fin de l’exécution")
itérateurs

Conclusion
0
References 1
2
fin de l’exécution
Cours Intro Python  19/10/2018  103 / 169 v1.1.0
Boucle for

Présentation
du module Il est possible d’itérer sur les éléments d’une chaı̂ne de caractères,
Présentation des tuples, les clés d’un dictionnaire, . . ..
de Python

Types et
Opérations

Syntaxe
Structure du
code
Affectation
Tests
IBoucles

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  104 / 169 v1.1.0


Boucle for

Présentation
du module Il est possible d’itérer sur les éléments d’une chaı̂ne de caractères,
Présentation des tuples, les clés d’un dictionnaire, . . ..
de Python

Types et
Opérations >>> s = "ensg"
Syntaxe >>> for lettre in s:
Structure du
code
print(lettre)
Affectation
Tests
IBoucles e
Modules et n
fonctions s
Fichiers et g
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  104 / 169 v1.1.0


Boucle for

Présentation
du module Il est possible d’itérer sur les éléments d’une chaı̂ne de caractères,
Présentation des tuples, les clés d’un dictionnaire, . . ..
de Python

Types et
Opérations >>> s = "ensg" >>> l = [(1,2), (3,4), (5,6)]
Syntaxe >>> for lettre in s: >>> for (i,j) in l:
Structure du
code
print(lettre) print(i,j)
Affectation
Tests
IBoucles e 1 2
Modules et n 3 4
fonctions s 5 6
Fichiers et g
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  104 / 169 v1.1.0


Boucle for

Présentation
du module Il est possible d’itérer sur les éléments d’une chaı̂ne de caractères,
Présentation des tuples, les clés d’un dictionnaire, . . ..
de Python

Types et >>> dico


Opérations {’bleu’: ’0000FF’, ’vert’: ’00FF00’, ’rouge’: ’FF0000’, ’
Syntaxe jaune’: ’00FFFF’}
Structure du
code >>> for clef in dico:
Affectation
Tests
print(clef, dico[clef])
IBoucles

Modules et bleu 0000FF


fonctions
vert 00FF00
Fichiers et
itérateurs
rouge FF0000
jaune 00FFFF
Conclusion

References

Cours Intro Python  19/10/2018  105 / 169 v1.1.0


Les sorties de boucle

En Python, il existe 2 syntaxes différentes permettant de sortir


Présentation d’une boucle avant la fin de son exécution normale. On parle de
du module
débranchements.
Présentation
de Python

Types et
Opérations

Syntaxe
Structure du
code
Affectation
Tests
IBoucles

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  106 / 169 v1.1.0


Les sorties de boucle

En Python, il existe 2 syntaxes différentes permettant de sortir


Présentation d’une boucle avant la fin de son exécution normale. On parle de
du module
débranchements.
Présentation
de Python

Types et
Opérations
• “break” permet de sortir définitivement d’une boucle
Syntaxe
Structure du
code
Affectation
Tests
IBoucles

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  106 / 169 v1.1.0


Les sorties de boucle

En Python, il existe 2 syntaxes différentes permettant de sortir


Présentation d’une boucle avant la fin de son exécution normale. On parle de
du module
débranchements.
Présentation
de Python

Types et
Opérations
• “break” permet de sortir définitivement d’une boucle
Syntaxe • “continue” permet de retourner au début des instructions de
Structure du
code la boucle
Affectation
Tests
IBoucles

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  106 / 169 v1.1.0


Les sorties de boucle

En Python, il existe 2 syntaxes différentes permettant de sortir


Présentation d’une boucle avant la fin de son exécution normale. On parle de
du module
débranchements.
Présentation
de Python

Types et
Opérations
• “break” permet de sortir définitivement d’une boucle
Syntaxe • “continue” permet de retourner au début des instructions de
Structure du
code la boucle
Affectation
Tests
IBoucles
Clause “else”
Modules et
fonctions Si l’on veut exécuter un groupe d’instructions après qu’une boucle
Fichiers et
itérateurs
se soit terminée correctement, on peut utiliser un “else”.
Conclusion

References

Cours Intro Python  19/10/2018  106 / 169 v1.1.0


Les sorties de boucle

En Python, il existe 2 syntaxes différentes permettant de sortir


Présentation d’une boucle avant la fin de son exécution normale. On parle de
du module
débranchements.
Présentation
de Python

Types et
Opérations
• “break” permet de sortir définitivement d’une boucle
Syntaxe • “continue” permet de retourner au début des instructions de
Structure du
code la boucle
Affectation
Tests
IBoucles
Clause “else”
Modules et
fonctions Si l’on veut exécuter un groupe d’instructions après qu’une boucle
Fichiers et
itérateurs
se soit terminée correctement, on peut utiliser un “else”.
Conclusion

References “pass”
Il est aussi possible d’utiliser le mot cle “pass” dans les boucles.

Cours Intro Python  19/10/2018  106 / 169 v1.1.0


“continue”

Présentation
du module

Présentation >>> for i in range(3):


de Python print("toto")
Types et continue
Opérations
print("titi")
Syntaxe else:
Structure du
code print("tata")
Affectation
Tests
IBoucles
toto
Modules et toto
fonctions
toto
Fichiers et
itérateurs tata
Conclusion

References

Cours Intro Python  19/10/2018  107 / 169 v1.1.0


“continue”

Présentation
du module

Présentation
de Python Placement de “continue”
Types et
Opérations
Attention au placement de “continue”, cela peut entraı̂ner des
Syntaxe boucles infinies !
Structure du
code
Affectation
Tests
>>> x = 0
IBoucles >>> while (x < 5):
Modules et continue
fonctions
x += 1
Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  108 / 169 v1.1.0


“break”

Présentation >>> for x in range(5):


du module print(x)
Présentation if (x == 2):
de Python
break
Types et
Opérations
else:
print("boucle terminée")
Syntaxe
Structure du
code
Affectation
0
Tests 1
IBoucles
2
Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  109 / 169 v1.1.0


“break”

Présentation >>> for x in range(5):


du module print(x)
Présentation if (x == 2):
de Python
break
Types et
Opérations
else:
print("boucle terminée")
Syntaxe
Structure du
code
Affectation
0
Tests 1
IBoucles
2
Modules et
fonctions

Fichiers et
itérateurs
Clause “else”
Conclusion Dans le cas de l’utilisation d’un “break”, les instructions de la
References clause “else” ne sont pas lues.

Cours Intro Python  19/10/2018  109 / 169 v1.1.0


Passer une liste au carré

Présentation
du module

Présentation >>> liste = [1,2,3,4]


de Python

Types et Comment passer tous les éléments de la liste au carré ?


Opérations

Syntaxe
Structure du
code
Affectation
Tests
IBoucles

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  110 / 169 v1.1.0


Passer une liste au carré

Présentation
du module

Présentation >>> liste = [1,2,3,4]


de Python

Types et Comment passer tous les éléments de la liste au carré ?


Opérations
Solution évidente :
Syntaxe
Structure du
code >>> liste2 = list()
Affectation >>> for element in liste:
Tests
IBoucles liste2.append(element ** 2)
Modules et
fonctions
>>> liste2
Fichiers et [1, 4, 9, 16]
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  110 / 169 v1.1.0


Listes de compréhension

Présentation
du module
Définition
Présentation Les listes de compréhension sont une spécificité du Python. C’est
de Python
la manière la plus rapide de créer une liste. Pour cela, il existe
Types et
Opérations une syntaxe spécifique en Python, à partir d’une boucle for.
Syntaxe
Structure du
code
Affectation
Tests
IBoucles

Modules et
fonctions

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  111 / 169 v1.1.0


Listes de compréhension

Présentation
du module
Définition
Présentation Les listes de compréhension sont une spécificité du Python. C’est
de Python
la manière la plus rapide de créer une liste. Pour cela, il existe
Types et
Opérations une syntaxe spécifique en Python, à partir d’une boucle for.
Syntaxe
Structure du
code >>> liste = [1,2,3,4]
Affectation
Tests >>> liste2 = [x ** 2 for x in liste]
IBoucles
>>> liste2
Modules et
fonctions
[1,4,9,16]
Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  111 / 169 v1.1.0


Listes de compréhension

Présentation
du module
Définition
Présentation Les listes de compréhension sont une spécificité du Python. C’est
de Python
la manière la plus rapide de créer une liste. Pour cela, il existe
Types et
Opérations une syntaxe spécifique en Python, à partir d’une boucle for.
Syntaxe
Structure du
code >>> liste = [1,2,3,4]
Affectation
Tests >>> liste2 = [x ** 2 for x in liste]
IBoucles
>>> liste2
Modules et
fonctions
[1,4,9,16]
Fichiers et
itérateurs
Remarque
Conclusion

References
Cette syntaxe s’applique à tous les objets itérables.

Cours Intro Python  19/10/2018  111 / 169 v1.1.0


Déroulement de la présentation

Présentation
du module

Présentation
de Python
1 Présentation du module 5 Modules et fonctions
Types et
Opérations

Syntaxe 2 Présentation de Python 6 Fichiers et itérateurs


IModules et
fonctions
Fonctions
Imports et 3 Types et Opérations 7 Conclusion
modules
Installer des
packages

Fichiers et 4 Syntaxe
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  112 / 169 v1.1.0


Déroulement de la présentation

Présentation
du module

Présentation
de Python 1 Présentation du module 5 Modules et fonctions
Types et
Opérations
Fonctions
Syntaxe 2 Présentation de Python Imports et modules
Modules et Installer des packages
fonctions
IFonctions
Imports et
3 Types et Opérations
modules
Installer des
6 Fichiers et itérateurs
packages

Fichiers et 4 Syntaxe
itérateurs 7 Conclusion
Conclusion

References

Cours Intro Python  19/10/2018  113 / 169 v1.1.0


Fonctions

Présentation
du module
Définition
Présentation Les fonctions sont des ensembles d’instructions appelables
de Python
plusieurs fois dans un programme. Elles peuvent prendre certaines
Types et
Opérations valeurs en entrée et retourner d’autres valeurs.
Syntaxe

Modules et
fonctions
IFonctions
Imports et
modules
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  114 / 169 v1.1.0


Fonctions

Présentation
du module
Définition
Présentation Les fonctions sont des ensembles d’instructions appelables
de Python
plusieurs fois dans un programme. Elles peuvent prendre certaines
Types et
Opérations valeurs en entrée et retourner d’autres valeurs.
Syntaxe

Modules et Remarques
fonctions
IFonctions
Imports et
modules
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  114 / 169 v1.1.0


Fonctions

Présentation
du module
Définition
Présentation Les fonctions sont des ensembles d’instructions appelables
de Python
plusieurs fois dans un programme. Elles peuvent prendre certaines
Types et
Opérations valeurs en entrée et retourner d’autres valeurs.
Syntaxe

Modules et Remarques
fonctions
IFonctions
Imports et
Une fonction n’a pas forcément de paramètres ni de retours.
modules
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  114 / 169 v1.1.0


Fonctions

Présentation
du module
Définition
Présentation Les fonctions sont des ensembles d’instructions appelables
de Python
plusieurs fois dans un programme. Elles peuvent prendre certaines
Types et
Opérations valeurs en entrée et retourner d’autres valeurs.
Syntaxe

Modules et Remarques
fonctions
IFonctions
Imports et
Une fonction n’a pas forcément de paramètres ni de retours.
modules
Installer des
packages
Les paramètres en entrée peuvent varier d’une exécution à
Fichiers et une autre.
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  114 / 169 v1.1.0


Fonctions

Présentation
du module
Définition
Présentation Les fonctions sont des ensembles d’instructions appelables
de Python
plusieurs fois dans un programme. Elles peuvent prendre certaines
Types et
Opérations valeurs en entrée et retourner d’autres valeurs.
Syntaxe

Modules et Remarques
fonctions
IFonctions
Imports et
Une fonction n’a pas forcément de paramètres ni de retours.
modules
Installer des
packages
Les paramètres en entrée peuvent varier d’une exécution à
Fichiers et une autre.
itérateurs

Conclusion
L’ensemble des instructions à l’intérieur de la fonction
References
s’appelle le corps.

Cours Intro Python  19/10/2018  114 / 169 v1.1.0


Syntaxe d’une fonction

Présentation
du module

Présentation
de Python • Une fonction commence par le mot clé “def”.
Types et
Opérations

Syntaxe

Modules et
fonctions
IFonctions
Imports et
modules
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  115 / 169 v1.1.0


Syntaxe d’une fonction

Présentation
du module

Présentation
de Python • Une fonction commence par le mot clé “def”.
Types et
Opérations • Le nom de la fonction est suivi de parenthèses.
Syntaxe

Modules et
fonctions
IFonctions
Imports et
modules
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  115 / 169 v1.1.0


Syntaxe d’une fonction

Présentation
du module

Présentation
de Python • Une fonction commence par le mot clé “def”.
Types et
Opérations • Le nom de la fonction est suivi de parenthèses.
Syntaxe • Le corps de la fonction est indenté.
Modules et
fonctions
IFonctions
Imports et
modules
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  115 / 169 v1.1.0


Syntaxe d’une fonction

Présentation
du module

Présentation
de Python • Une fonction commence par le mot clé “def”.
Types et
Opérations • Le nom de la fonction est suivi de parenthèses.
Syntaxe • Le corps de la fonction est indenté.
Modules et
fonctions • La fonction se termine lorsque l’indentation retourne à son
IFonctions
Imports et
niveau initial.
modules
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  115 / 169 v1.1.0


Syntaxe d’une fonction

Présentation
du module

Présentation
de Python • Une fonction commence par le mot clé “def”.
Types et
Opérations • Le nom de la fonction est suivi de parenthèses.
Syntaxe • Le corps de la fonction est indenté.
Modules et
fonctions • La fonction se termine lorsque l’indentation retourne à son
IFonctions
Imports et
niveau initial.
modules
Installer des
packages
• Si la fonction possède un résultat, il est spécifié grâce au
Fichiers et mot clé “return”.
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  115 / 169 v1.1.0


Syntaxe d’une fonction

Présentation
du module
def Nom Fonction (paramètre 1, paramètre 2) :
Présentation
instruction 1
de Python
instruction 2
Types et
Opérations instruction 3
Syntaxe return valeur retournée
Modules et
fonctions
IFonctions
Imports et
modules
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  116 / 169 v1.1.0


Syntaxe d’une fonction

Présentation
du module
def Nom Fonction (paramètre 1, paramètre 2) :
Présentation
instruction 1
de Python
instruction 2
Types et
Opérations instruction 3
Syntaxe return valeur retournée
Modules et
fonctions
IFonctions
Imports et
def fibonacci(seuil):
modules """fib"""
Installer des
packages n = [1,1]
Fichiers et while (len(n) < seuil):
itérateurs
n.append(n[len(n)-1 + n[len(n)-2])
Conclusion
return n
References

Cours Intro Python  19/10/2018  116 / 169 v1.1.0


Appel de la fonction

Présentation
du module

Présentation
de Python On appelle une fonction en écrivant son nom suivi des
Types et
Opérations
parenthèses dans le programme.
Syntaxe >>> def my_function():
Modules et print("hello world")
fonctions
IFonctions
Imports et >>> my_function()
modules
Installer des hello world
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  117 / 169 v1.1.0


Valeurs retournées

Si la fonction retourne une valeur, on peut la récupérer de la


Présentation façon suivante :
du module
>>> def fonction():
Présentation
de Python return 0
Types et
Opérations >>> x = fonction()
Syntaxe >>> x
Modules et 0
fonctions
IFonctions
Imports et
modules
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  118 / 169 v1.1.0


Valeurs retournées

Si la fonction retourne une valeur, on peut la récupérer de la


Présentation façon suivante :
du module
>>> def fonction():
Présentation
de Python return 0
Types et
Opérations >>> x = fonction()
Syntaxe >>> x
Modules et 0
fonctions
IFonctions
Imports et
Lorsque la fonction retourne plusieurs valeurs, celles-ci sont
modules
Installer des
écrites dans un tuple :
packages

Fichiers et
>>> def fonction():
itérateurs return 0, "abcde", 3.1415
Conclusion

References >>> t = fonction()


>>> t
(0, ’abcde’, 3.1415)

Cours Intro Python  19/10/2018  118 / 169 v1.1.0


Valeurs retournées

Présentation
du module On peut aussi récupérer les valeurs retournées de la façon
Présentation suivante :
de Python

Types et >>> def fonction():


Opérations return 0, "abcde", 3.1415
Syntaxe

Modules et >>> r1,r2,r3 = fonction()


fonctions
IFonctions
>>> r1
Imports et 0
modules
Installer des >>> r2
packages
’abcde’
Fichiers et
itérateurs >>> r3
Conclusion
3.1415
References

Cours Intro Python  19/10/2018  119 / 169 v1.1.0


Paramètres

Présentation
du module

Présentation
Les paramètres en entrée de la fonction s’ajoutent entre les
de Python parenthèses. Lors de l’appel de la fonction on précise les valeurs
Types et
Opérations
de ces paramètres.
Syntaxe

Modules et
fonctions
IFonctions
Imports et
modules
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  120 / 169 v1.1.0


Paramètres

Présentation
du module

Présentation
Les paramètres en entrée de la fonction s’ajoutent entre les
de Python parenthèses. Lors de l’appel de la fonction on précise les valeurs
Types et
Opérations
de ces paramètres.
Syntaxe >>> def plus(x,y):
Modules et p = x+y
fonctions return p
IFonctions
Imports et
modules
Installer des >>> p = plus(1,2)
packages
>>> p
Fichiers et
itérateurs 3
Conclusion

References

Cours Intro Python  19/10/2018  120 / 169 v1.1.0


Portée des variables

Définition
Présentation
du module
La portée d’une variable est la portion du programme à l’intérieur
Présentation de laquelle elle référence une adresse mémoire (on dit qu’elle
de Python
“existe”).
Types et
Opérations

Syntaxe

Modules et
fonctions
IFonctions
Imports et
modules
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  121 / 169 v1.1.0


Portée des variables

Définition
Présentation
du module
La portée d’une variable est la portion du programme à l’intérieur
Présentation de laquelle elle référence une adresse mémoire (on dit qu’elle
de Python
“existe”).
Types et
Opérations

Syntaxe Remarques
Modules et Les variables définies à l’intérieur d’une fonction n’existent
fonctions
IFonctions qu’à l’intérieur de cette fonction.
Imports et
modules
Installer des Les variables définies à l’extérieur d’une fonction ne sont pas
packages

Fichiers et
modifiables par celle-ci.
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  121 / 169 v1.1.0


Portée des variables

Définition
Présentation
du module
La portée d’une variable est la portion du programme à l’intérieur
Présentation de laquelle elle référence une adresse mémoire (on dit qu’elle
de Python
“existe”).
Types et
Opérations

Syntaxe Remarques
Modules et Les variables définies à l’intérieur d’une fonction n’existent
fonctions
IFonctions qu’à l’intérieur de cette fonction.
Imports et
modules
Installer des Les variables définies à l’extérieur d’une fonction ne sont pas
packages

Fichiers et
modifiables par celle-ci.
itérateurs

Conclusion Pratique déconseillée


References
Les variables définies à l’extérieur d’une fonction sont utilisables
par celle-ci si elles ont été déclarées avant.
Cours Intro Python  19/10/2018  121 / 169 v1.1.0
Portée des variables

Présentation
du module

Présentation
de Python Variable locale
Types et
Opérations
Une variable est dite locale lorsque sa portée se limite à la
Syntaxe fonction dans laquelle elle est définie.
Modules et
fonctions
IFonctions
Imports et
modules
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  122 / 169 v1.1.0


Portée des variables

Présentation
du module

Présentation
de Python Variable locale
Types et
Opérations
Une variable est dite locale lorsque sa portée se limite à la
Syntaxe fonction dans laquelle elle est définie.
Modules et
fonctions
IFonctions Variable globale
Imports et
modules
Installer des
Une variable est dit globale lorsqu’elle est visible dans tout le
packages
programme.
Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  122 / 169 v1.1.0


Portée des variables
>>> x = 1
>>> def test(y):
z = x+y
Présentation
du module return z
Présentation
de Python >>> z = test(2)
Types et >>> z
Opérations
3
Syntaxe

Modules et >>> y
fonctions
IFonctions
Traceback (most recent call last):
Imports et
modules
File "<stdin>", line 1, in <module>
Installer des
packages
NameError: name ’y’ is not defined
Fichiers et
itérateurs >>> def test2():
Conclusion x = 2
References
>>> test2()
>>> x
1
Cours Intro Python  19/10/2018  123 / 169 v1.1.0
Mot clé “global”

Si l’on veut pouvoir modifier une variable globale depuis le corps


Présentation
du module d’une fonction, on peut utiliser le mot clé “global”.
Présentation
de Python >>> x = 1
>>> def test3():
Types et
Opérations global x
Syntaxe x = 2
Modules et
fonctions >>> test3()
IFonctions
Imports et
>>> x
modules
Installer des
2
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  124 / 169 v1.1.0


Mot clé “global”

Si l’on veut pouvoir modifier une variable globale depuis le corps


Présentation
du module d’une fonction, on peut utiliser le mot clé “global”.
Présentation
de Python >>> x = 1
>>> def test3():
Types et
Opérations global x
Syntaxe x = 2
Modules et
fonctions >>> test3()
IFonctions
Imports et
>>> x
modules
Installer des
2
packages

Fichiers et
itérateurs Attention
Conclusion
On essaiera de s’affranchir de l’utilisation de ce mot clé, car cela
References
revient à faire passer un paramètre caché à la fonction.

Cours Intro Python  19/10/2018  124 / 169 v1.1.0


Fonctions incluses

En Python, les fonctions suivant les mêmes règles d’indentation


Présentation que les boucles, il est possible de déclarer une fonction dans une
du module
autre fonction. La portée de la fonction fille est donc limitée à
Présentation
de Python celle de sa fonction mère (la fonction fille n’existe qu’à l’intérieur
Types et de la fonction mère).
Opérations

Syntaxe

Modules et
fonctions
IFonctions
Imports et
modules
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  125 / 169 v1.1.0


Fonctions incluses

En Python, les fonctions suivant les mêmes règles d’indentation


Présentation que les boucles, il est possible de déclarer une fonction dans une
du module
autre fonction. La portée de la fonction fille est donc limitée à
Présentation
de Python celle de sa fonction mère (la fonction fille n’existe qu’à l’intérieur
Types et de la fonction mère).
Opérations
>>> def fonction_mere():
Syntaxe
x=1
Modules et
fonctions def fonction_fille():
IFonctions print(x+1)
Imports et
modules fonction_fille()
Installer des
packages

Fichiers et >>> fonction_mere()


itérateurs
2
Conclusion >>> fonction_fille()
References Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name ’fonction_fille’ is not defined
Cours Intro Python  19/10/2018  125 / 169 v1.1.0
Règle LEGB

Présentation
du module

Présentation Lorsqu’une variable est appelée, Python regarde dans l’ordre :


de Python

Types et
Opérations

Syntaxe

Modules et
fonctions
IFonctions
Imports et
modules
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  126 / 169 v1.1.0


Règle LEGB

Présentation
du module

Présentation Lorsqu’une variable est appelée, Python regarde dans l’ordre :


de Python

Types et 1 si la variable a été déclarée localement,


Opérations

Syntaxe

Modules et
fonctions
IFonctions
Imports et
modules
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  126 / 169 v1.1.0


Règle LEGB

Présentation
du module

Présentation Lorsqu’une variable est appelée, Python regarde dans l’ordre :


de Python

Types et 1 si la variable a été déclarée localement,


Opérations

Syntaxe
2 si elle est déclarée dans le contexte d’inclusion (i.e. fonction
Modules et englobante),
fonctions
IFonctions
Imports et
modules
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  126 / 169 v1.1.0


Règle LEGB

Présentation
du module

Présentation Lorsqu’une variable est appelée, Python regarde dans l’ordre :


de Python

Types et 1 si la variable a été déclarée localement,


Opérations

Syntaxe
2 si elle est déclarée dans le contexte d’inclusion (i.e. fonction
Modules et englobante),
fonctions
IFonctions 3 s’il s’agit d’une variable globale,
Imports et
modules
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  126 / 169 v1.1.0


Règle LEGB

Présentation
du module

Présentation Lorsqu’une variable est appelée, Python regarde dans l’ordre :


de Python

Types et 1 si la variable a été déclarée localement,


Opérations

Syntaxe
2 si elle est déclarée dans le contexte d’inclusion (i.e. fonction
Modules et englobante),
fonctions
IFonctions 3 s’il s’agit d’une variable globale,
Imports et
modules
Installer des 4 si elle fait partie des objets intégrés au langage.
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  126 / 169 v1.1.0


Règle LEGB

Présentation
du module

Présentation Lorsqu’une variable est appelée, Python regarde dans l’ordre :


de Python

Types et 1 si la variable a été déclarée localement,


Opérations

Syntaxe
2 si elle est déclarée dans le contexte d’inclusion (i.e. fonction
Modules et englobante),
fonctions
IFonctions 3 s’il s’agit d’une variable globale,
Imports et
modules
Installer des 4 si elle fait partie des objets intégrés au langage.
packages

Fichiers et
itérateurs
On parle de règle LEGB pour Local Enclosing Global Built-in.
Conclusion

References

Cours Intro Python  19/10/2018  126 / 169 v1.1.0


Paramètres par défaut

Lorsqu’une fonction est appelée de nombreuses fois avec les


Présentation mêmes paramètres, il peut être intéressant de fixer des valeurs par
du module
défaut aux paramètres de la fonction afin de ne pas avoir à les
Présentation
de Python re-spécifier à chaque appel.
Types et
Opérations

Syntaxe

Modules et
fonctions
IFonctions
Imports et
modules
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  127 / 169 v1.1.0


Paramètres par défaut

Lorsqu’une fonction est appelée de nombreuses fois avec les


Présentation mêmes paramètres, il peut être intéressant de fixer des valeurs par
du module
défaut aux paramètres de la fonction afin de ne pas avoir à les
Présentation
de Python re-spécifier à chaque appel.
Types et >>> def puissance (nombre, facteur=2):
Opérations
x = nombre ** facteur
Syntaxe
return x
Modules et
fonctions
IFonctions
>>> puissance(3)
Imports et 9
modules
Installer des
packages
>>> puissance(3,3)
Fichiers et
27
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  127 / 169 v1.1.0


Paramètres par défaut

Lorsqu’une fonction est appelée de nombreuses fois avec les


Présentation mêmes paramètres, il peut être intéressant de fixer des valeurs par
du module
défaut aux paramètres de la fonction afin de ne pas avoir à les
Présentation
de Python re-spécifier à chaque appel.
Types et >>> def puissance (nombre, facteur=2):
Opérations
x = nombre ** facteur
Syntaxe
return x
Modules et
fonctions
IFonctions
>>> puissance(3)
Imports et 9
modules
Installer des
packages
>>> puissance(3,3)
Fichiers et
27
itérateurs

Conclusion
Position des paramètres
References Attention à la position des paramètres, les paramètres avec des
valeurs par défaut doivent toujours être placés après les autres
paramètres.
Cours Intro Python  19/10/2018  127 / 169 v1.1.0
Fonctions et types modifiables
>>> def init_liste(n, liste):
for i in range(n):
Présentation liste[i] = 0
du module
n += 1
Présentation
de Python

Types et
>>> n = 2
Opérations >>> liste = [1,2,3,4,5]
Syntaxe >>> init_liste(n,liste)
Modules et
>>> n
fonctions 2
IFonctions
Imports et
>>> liste
modules
Installer des
[0,0,3,4,5]
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  128 / 169 v1.1.0


Fonctions et types modifiables
>>> def init_liste(n, liste):
for i in range(n):
Présentation liste[i] = 0
du module
n += 1
Présentation
de Python

Types et
>>> n = 2
Opérations >>> liste = [1,2,3,4,5]
Syntaxe >>> init_liste(n,liste)
Modules et
>>> n
fonctions 2
IFonctions
Imports et
>>> liste
modules
Installer des
[0,0,3,4,5]
packages

Fichiers et Dans cette fonction, le paramètre n n’a pas été modifié. Ceci est
itérateurs
dû au fait que n est d’un type immuable. On dit qu’il a été passé
Conclusion
en valeur.
References

Cours Intro Python  19/10/2018  128 / 169 v1.1.0


Fonctions et types modifiables
>>> def init_liste(n, liste):
for i in range(n):
Présentation liste[i] = 0
du module
n += 1
Présentation
de Python

Types et
>>> n = 2
Opérations >>> liste = [1,2,3,4,5]
Syntaxe >>> init_liste(n,liste)
Modules et
>>> n
fonctions 2
IFonctions
Imports et
>>> liste
modules
Installer des
[0,0,3,4,5]
packages

Fichiers et Dans cette fonction, le paramètre n n’a pas été modifié. Ceci est
itérateurs
dû au fait que n est d’un type immuable. On dit qu’il a été passé
Conclusion
en valeur.
References

En revanche, la liste a été modifiée. ceci est dû au fait qu’elle est
d’un type modifiable. On parle de passage en paramètre.
Cours Intro Python  19/10/2018  128 / 169 v1.1.0
Passage des paramètres

Présentation
du module

Présentation Rappel
de Python

Types et
Passer un paramètre à une fonction revient à affecter une
Opérations valeur à une variable locale
Syntaxe

Modules et
fonctions
IFonctions
Imports et
modules
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  129 / 169 v1.1.0


Passage des paramètres

Présentation
du module

Présentation Rappel
de Python

Types et
Passer un paramètre à une fonction revient à affecter une
Opérations valeur à une variable locale
Syntaxe
L’attribution des noms des paramètres n’a pas de
Modules et
fonctions conséquence en dehors de la fonction
IFonctions
Imports et
modules
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  129 / 169 v1.1.0


Passage des paramètres

Présentation
du module

Présentation Rappel
de Python

Types et
Passer un paramètre à une fonction revient à affecter une
Opérations valeur à une variable locale
Syntaxe
L’attribution des noms des paramètres n’a pas de
Modules et
fonctions conséquence en dehors de la fonction
IFonctions
Imports et
modules Modifier les valeurs d’un type modifiable dans une fonction a
Installer des
packages un impact sur l’objet en dehors de la fonction.
Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  129 / 169 v1.1.0


Passage des paramètres

Présentation
du module

Présentation Rappel
de Python

Types et
Passer un paramètre à une fonction revient à affecter une
Opérations valeur à une variable locale
Syntaxe
L’attribution des noms des paramètres n’a pas de
Modules et
fonctions conséquence en dehors de la fonction
IFonctions
Imports et
modules Modifier les valeurs d’un type modifiable dans une fonction a
Installer des
packages un impact sur l’objet en dehors de la fonction.
Fichiers et
itérateurs L’ordre des paramètres a une importance.
Conclusion

References

Cours Intro Python  19/10/2018  129 / 169 v1.1.0


Arguments positionnels variables

Présentation
du module Définition
Présentation
de Python
Python autorise le fait de passer un nombre indéterminé de
Types et paramètres à une fonction. Pour cela on utilise la syntaxe “*n”.
Opérations
Les arguments sont passés à la fonction sous forme de tuple.
Syntaxe

Modules et
fonctions
IFonctions
Imports et
modules
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  130 / 169 v1.1.0


Arguments positionnels variables

Présentation
du module Définition
Présentation
de Python
Python autorise le fait de passer un nombre indéterminé de
Types et paramètres à une fonction. Pour cela on utilise la syntaxe “*n”.
Opérations
Les arguments sont passés à la fonction sous forme de tuple.
Syntaxe

Modules et
fonctions >>> def pos_var_arg(*n):
IFonctions
Imports et
print(n)
modules print(type(n))
Installer des
packages

Fichiers et >>> pos_var_arg("abcde",123,[1,4,3.5])


itérateurs
(’abcde’, 123, [1, 4, 3.5])
Conclusion
<class ’tuple’>
References

Cours Intro Python  19/10/2018  130 / 169 v1.1.0


Arguments nommés variables

Présentation
du module

Présentation
de Python

Types et Définition
Opérations

Syntaxe Il est possible de créer des fonctions acceptant un nombre


Modules et indéterminé d’arguments nommés. La syntaxe est: “**options”.
fonctions
IFonctions
Les arguments sont passés à la fonction sous forme de
Imports et
modules dictionnaire.
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  131 / 169 v1.1.0


Arguments nommés variables

def connect (** options):


Présentation ’’’ connexion ’’’
du module
conn_params = {
Présentation
de Python ’host’: options.get ( ’host’ , ’127.0.0.1’) ,
Types et
’port’: options.get ( ’port’ , 5432) ,
Opérations ’user’: options.get ( ’user’ , ’ ’) ,
Syntaxe ’pwd’: options.get ( ’pwd’ , ’ ’) ,
Modules et
}
fonctions return conn_params
IFonctions
Imports et
modules
Installer des
>>> connect()
packages {’pwd’: ’ ’, ’host’: ’127.0.0.1’, ’user’: ’ ’, ’port’: 5432}
Fichiers et >>> connect( host = ’127.0.0.8’ )
itérateurs
{’pwd’: ’ ’, ’host’: ’127.0.0.8’, ’user’: ’ ’, ’port’: 5432}
Conclusion
>>> connect( user = ’postgres’, pwd = ’postgres’ )
References {’pwd’: ’postgres’, ’host’: ’127.0.0.1’, ’user’: ’postgres’, ’
port’: 5432}

Cours Intro Python  19/10/2018  132 / 169 v1.1.0


Ordre des paramètres

Présentation
du module

Présentation
de Python Si l’on souhaite combiner plusieurs types de paramètres, il faut
Types et respecter l’ordre suivant :
Opérations

Syntaxe

Modules et
fonctions
IFonctions
Imports et
modules
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  133 / 169 v1.1.0


Ordre des paramètres

Présentation
du module

Présentation
de Python Si l’on souhaite combiner plusieurs types de paramètres, il faut
Types et respecter l’ordre suivant :
Opérations

Syntaxe 1 paramètres positionnels obligatoires


Modules et
fonctions
IFonctions
Imports et
modules
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  133 / 169 v1.1.0


Ordre des paramètres

Présentation
du module

Présentation
de Python Si l’on souhaite combiner plusieurs types de paramètres, il faut
Types et respecter l’ordre suivant :
Opérations

Syntaxe 1 paramètres positionnels obligatoires


Modules et
fonctions
2 paramètres facultatifs avec valeurs par défaut
IFonctions
Imports et
modules
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  133 / 169 v1.1.0


Ordre des paramètres

Présentation
du module

Présentation
de Python Si l’on souhaite combiner plusieurs types de paramètres, il faut
Types et respecter l’ordre suivant :
Opérations

Syntaxe 1 paramètres positionnels obligatoires


Modules et
fonctions
2 paramètres facultatifs avec valeurs par défaut
IFonctions
Imports et
modules
3 paramètres positionnels variables
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  133 / 169 v1.1.0


Ordre des paramètres

Présentation
du module

Présentation
de Python Si l’on souhaite combiner plusieurs types de paramètres, il faut
Types et respecter l’ordre suivant :
Opérations

Syntaxe 1 paramètres positionnels obligatoires


Modules et
fonctions
2 paramètres facultatifs avec valeurs par défaut
IFonctions
Imports et
modules
3 paramètres positionnels variables
Installer des
packages 4 paramètres nommés variables
Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  133 / 169 v1.1.0


Fonctions récursives

Définition
Présentation
du module
Une fonction récursive est une fonction qui s’appelle elle-même.
Présentation L’exemple le plus classique est la fonction factorielle.
de Python

Types et
Opérations

Syntaxe

Modules et
fonctions
IFonctions
Imports et
modules
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  134 / 169 v1.1.0


Fonctions récursives

Définition
Présentation
du module
Une fonction récursive est une fonction qui s’appelle elle-même.
Présentation L’exemple le plus classique est la fonction factorielle.
de Python

Types et def factorielle(n):


Opérations
if (n == 0):
Syntaxe
return 1
Modules et else:
fonctions
IFonctions
return n*factorielle(n-1)
Imports et
modules
Installer des
packages
>>> factorielle(5)
Fichiers et
120
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  134 / 169 v1.1.0


Fonctions récursives

Définition
Présentation
du module
Une fonction récursive est une fonction qui s’appelle elle-même.
Présentation L’exemple le plus classique est la fonction factorielle.
de Python

Types et def factorielle(n):


Opérations
if (n == 0):
Syntaxe
return 1
Modules et else:
fonctions
IFonctions
return n*factorielle(n-1)
Imports et
modules
Installer des
packages
>>> factorielle(5)
Fichiers et
120
itérateurs

Conclusion
Attention
References Python n’autorise pas plus de 1000 appels récursifs
⇒ pour calculer factorielle(1000) il faut écrire une fonction non
récursive.
Cours Intro Python  19/10/2018  134 / 169 v1.1.0
Notions supplémentaires

Présentation
du module

Présentation
de Python

Types et
Opérations

Syntaxe Fonctions anonymes: lambda

Modules et Générateurs: generateurs


fonctions
IFonctions
Imports et
modules
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  135 / 169 v1.1.0


Déroulement de la présentation

Présentation
du module

Présentation
de Python 1 Présentation du module 5 Modules et fonctions
Types et
Opérations
Fonctions
Syntaxe 2 Présentation de Python Imports et modules
Modules et Installer des packages
fonctions
Fonctions
IImports et
3 Types et Opérations
modules
Installer des
6 Fichiers et itérateurs
packages

Fichiers et 4 Syntaxe
itérateurs 7 Conclusion
Conclusion

References

Cours Intro Python  19/10/2018  136 / 169 v1.1.0


Modules

Présentation
du module Maintenant que nous savons écrire et appeler des fonctions au
Présentation
de Python
sein d’un même fichier .py, nous allons voir comment organiser
Types et notre programme en plusieurs fichiers et comment appeler les
Opérations
fonctions contenus dans chacune des fichiers.
Syntaxe

Modules et
fonctions
Fonctions
IImports et
modules
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  137 / 169 v1.1.0


Modules

Présentation
du module Maintenant que nous savons écrire et appeler des fonctions au
Présentation
de Python
sein d’un même fichier .py, nous allons voir comment organiser
Types et notre programme en plusieurs fichiers et comment appeler les
Opérations
fonctions contenus dans chacune des fichiers.
Syntaxe

Modules et
fonctions Définition
Fonctions
IImports et
modules
Chaque fichier .py est un module Python. Ils servent à stocker
Installer des
packages
séparément des aspects différents d’un programme et peuvent
Fichiers et être appelés dans d’autres modules afin d’accéder aux fonctions
itérateurs
qui y sont écrites.
Conclusion

References

Cours Intro Python  19/10/2018  137 / 169 v1.1.0


Espaces de noms

En Python, pour retrouver une variable ou une fonction, on se


Présentation sert de son nom : c’est le nommage des outils. Pour retrouver
du module
un outil, on va utiliser un espace de noms.
Présentation
de Python

Types et
Opérations

Syntaxe

Modules et
fonctions
Fonctions
IImports et
modules
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  138 / 169 v1.1.0


Espaces de noms

En Python, pour retrouver une variable ou une fonction, on se


Présentation sert de son nom : c’est le nommage des outils. Pour retrouver
du module
un outil, on va utiliser un espace de noms.
Présentation
de Python
Espace de noms
Types et
Opérations
Il s’agit d’un moyen de regrouper des variables et des fonctions
Syntaxe
dans un espace commun. Généralement il s’agira de leur lieu de
Modules et
fonctions définition.
Fonctions
IImports et
modules
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  138 / 169 v1.1.0


Espaces de noms

En Python, pour retrouver une variable ou une fonction, on se


Présentation sert de son nom : c’est le nommage des outils. Pour retrouver
du module
un outil, on va utiliser un espace de noms.
Présentation
de Python
Espace de noms
Types et
Opérations
Il s’agit d’un moyen de regrouper des variables et des fonctions
Syntaxe
dans un espace commun. Généralement il s’agira de leur lieu de
Modules et
fonctions définition.
Fonctions
IImports et
modules
Installer des Remarques
packages

Fichiers et Il existe déjà des espaces de noms dans le domaine :


itérateurs

Conclusion
cœur du langage pour les structures de données de base
References contexte global pour les variables d’un programme
contexte local pour les variables d’une fonction

Cours Intro Python  19/10/2018  138 / 169 v1.1.0


Espaces de noms

Présentation
du module
Ce système permet aussi d’utiliser plusieurs variables ou fonctions
Présentation
qui portent le même nom mais qui sont “stockées” dans des
de Python espaces de noms différents.
Types et
Opérations

Syntaxe

Modules et
fonctions
Fonctions
IImports et
modules
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  139 / 169 v1.1.0


Espaces de noms

Présentation
du module
Ce système permet aussi d’utiliser plusieurs variables ou fonctions
Présentation
qui portent le même nom mais qui sont “stockées” dans des
de Python espaces de noms différents.
Types et
Opérations
Concrètement, l’identification complète d’une variable ou d’une
Syntaxe
fonction se fait de la façon suivante :
Modules et
fonctions
Fonctions espace de nom.sous espace de nom. nom
IImports et
modules
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  139 / 169 v1.1.0


Espaces de noms

Présentation
du module
Ce système permet aussi d’utiliser plusieurs variables ou fonctions
Présentation
qui portent le même nom mais qui sont “stockées” dans des
de Python espaces de noms différents.
Types et
Opérations
Concrètement, l’identification complète d’une variable ou d’une
Syntaxe
fonction se fait de la façon suivante :
Modules et
fonctions
Fonctions espace de nom.sous espace de nom. nom
IImports et
modules
Installer des
packages

Fichiers et
Remarque
itérateurs
La notion d’espaces de noms est liée à celle de la portée des
Conclusion
variables.
References

Cours Intro Python  19/10/2018  139 / 169 v1.1.0


Packages

Un programme complet peu compter des centaines de milliers de


Présentation lignes de code. Il est donc indispensable de le découper en
du module
module. Cependant les modules ne seront parfois pas suffisants.
Présentation
de Python

Types et
Opérations

Syntaxe

Modules et
fonctions
Fonctions
IImports et
modules
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  140 / 169 v1.1.0


Packages

Un programme complet peu compter des centaines de milliers de


Présentation lignes de code. Il est donc indispensable de le découper en
du module
module. Cependant les modules ne seront parfois pas suffisants.
Présentation
de Python
Définition
Types et
Opérations Un package est un répertoire contenant un ensemble de
Syntaxe sous-packages ou de modules (fichiers .py) ainsi qu’un fichier
Modules et
fonctions
“ init .py” qui peut être vide.
Fonctions
IImports et
modules
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  140 / 169 v1.1.0


Packages

Un programme complet peu compter des centaines de milliers de


Présentation lignes de code. Il est donc indispensable de le découper en
du module
module. Cependant les modules ne seront parfois pas suffisants.
Présentation
de Python
Définition
Types et
Opérations Un package est un répertoire contenant un ensemble de
Syntaxe sous-packages ou de modules (fichiers .py) ainsi qu’un fichier
Modules et
fonctions
“ init .py” qui peut être vide.
Fonctions
IImports et
modules code/
Installer des
packages geometrie/
Fichiers et __init__.py
itérateurs systeme_coordonnees.py
Conclusion primitive/
References __init__.py
point.py
ligne.py
surface.py
Cours Intro Python  19/10/2018  140 / 169 v1.1.0
Utiliser un module

Présentation
du module “Import”
Présentation
de Python Pour charger un module externe, il faut utiliser le mot clé
Types et “import” suivi du nom du module.
Opérations
Une fois la commande exécutée, l’interpréteur charge dans le
Syntaxe

Modules et
programme l’espace de noms du module.
fonctions
Fonctions
IImports et
modules
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  141 / 169 v1.1.0


Utiliser un module

Présentation
du module “Import”
Présentation
de Python Pour charger un module externe, il faut utiliser le mot clé
Types et “import” suivi du nom du module.
Opérations
Une fois la commande exécutée, l’interpréteur charge dans le
Syntaxe

Modules et
programme l’espace de noms du module.
fonctions
Fonctions
IImports et
Pour utiliser une fonction d’un module il suffit ensuite de
modules
Installer des l’appeler : nom module.nom fonction.
packages

Fichiers et >>> import math


itérateurs
>>> math.sqrt(4)
Conclusion 2.0
References

Cours Intro Python  19/10/2018  141 / 169 v1.1.0


Différents types d’imports

Présentation
du module Dans la cas où l’on ne souhaite utiliser qu’une fonction du
Présentation
de Python
module on utilise le mot clé from :
Types et >>> from math import sqrt
Opérations
>>> sqrt(4)
Syntaxe 2.0
Modules et
fonctions
Fonctions
IImports et
modules
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  142 / 169 v1.1.0


Différents types d’imports

Présentation
du module Dans la cas où l’on ne souhaite utiliser qu’une fonction du
Présentation
de Python
module on utilise le mot clé from :
Types et >>> from math import sqrt
Opérations
>>> sqrt(4)
Syntaxe 2.0
Modules et
fonctions
Fonctions
La syntaxe d’import d’un package est similaire à celle d’un
IImports et
modules
module :
Installer des
packages >>> import package
Fichiers et
itérateurs
>>> from package.sous_package import module
Conclusion

References

Cours Intro Python  19/10/2018  142 / 169 v1.1.0


Différents types d’imports

Présentation
du module As
Présentation
de Python Lorsque l’on veut importer un module et le renommer, on peut
Types et utiliser le mot clé as :
Opérations

Syntaxe
>>> import math as m
>>> m.sqrt(4)
Modules et
fonctions 2.0
Fonctions
IImports et
modules
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  143 / 169 v1.1.0


Différents types d’imports

Présentation
du module As
Présentation
de Python Lorsque l’on veut importer un module et le renommer, on peut
Types et utiliser le mot clé as :
Opérations

Syntaxe
>>> import math as m
>>> m.sqrt(4)
Modules et
fonctions 2.0
Fonctions
IImports et
modules
Installer des
packages
Remarque
Fichiers et
itérateurs Pour un soucis de clarté du code, on placera les imports au début
Conclusion du programme, même s’ils ne sont utilisés qu’à la fin.
References

Cours Intro Python  19/10/2018  143 / 169 v1.1.0


Modules courants

Module Utilisation
Présentation
du module os manipulation de chemins de fichiers
Présentation
de Python
sys informations sur l’environnement
Types et
time heure courante, fuseaux horaires
Opérations datetime gestion des dates et des durées
Syntaxe
math fonctions mathématiques
Modules et
fonctions random nombres aléatoires
Fonctions
IImports et
decimal manipulation des nombres à virgule
modules
Installer des fractions manipulation des fractions
packages

Fichiers et
doctest documentation et tests unitaires
itérateurs sqlite3 gérer des BDD sqlite3
Conclusion
TKinter gérer des interfaces graphiques
References
matplotlib gérer des affichages graphiques

Cours Intro Python  19/10/2018  144 / 169 v1.1.0


Module “math”

Présentation
du module

Présentation
Ce module introduit d’autres opérations pour les types
de Python numériques :
Types et
Opérations

Syntaxe

Modules et
fonctions
Fonctions
IImports et
modules
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  145 / 169 v1.1.0


Module “math”

Présentation
du module

Présentation
Ce module introduit d’autres opérations pour les types
de Python numériques :
Types et
Opérations • sinus, cosinus, . . .
Syntaxe
• racine carrée
Modules et
fonctions
Fonctions
• exponentielle
IImports et
modules • ...
Installer des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  145 / 169 v1.1.0


Module “math”

Présentation
du module

Présentation
Ce module introduit d’autres opérations pour les types
de Python numériques :
Types et
Opérations • sinus, cosinus, . . .
Syntaxe
• racine carrée
Modules et
fonctions
Fonctions
• exponentielle
IImports et
modules • ...
Installer des
packages

Fichiers et >>> math.cos(3) >>> math.exp(5.154)


itérateurs -0.9899924966004454 173.1225975711542
Conclusion

References

Cours Intro Python  19/10/2018  145 / 169 v1.1.0


Déroulement de la présentation

Présentation
du module

Présentation
de Python 1 Présentation du module 5 Modules et fonctions
Types et
Opérations
Fonctions
Syntaxe 2 Présentation de Python Imports et modules
Modules et Installer des packages
fonctions
Fonctions
Imports et
3 Types et Opérations
modules
IInstaller des
6 Fichiers et itérateurs
packages

Fichiers et 4 Syntaxe
itérateurs 7 Conclusion
Conclusion

References

Cours Intro Python  19/10/2018  146 / 169 v1.1.0


Installer des packages

Présentation
du module Python possède beaucoup de librairies open source. Il n’est pas
Présentation
de Python
rare au cours de l’écriture d’un programme d’avoir besoin de
Types et
l’aide d’une librairie externe.
Opérations

Syntaxe

Modules et
fonctions
Fonctions
Imports et
modules
IInstaller des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  147 / 169 v1.1.0


Installer des packages

Présentation
du module Python possède beaucoup de librairies open source. Il n’est pas
Présentation
de Python
rare au cours de l’écriture d’un programme d’avoir besoin de
Types et
l’aide d’une librairie externe.
Opérations

Syntaxe La méthode courante consiste à :


Modules et
fonctions
Fonctions
Imports et
modules
IInstaller des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  147 / 169 v1.1.0


Installer des packages

Présentation
du module Python possède beaucoup de librairies open source. Il n’est pas
Présentation
de Python
rare au cours de l’écriture d’un programme d’avoir besoin de
Types et
l’aide d’une librairie externe.
Opérations

Syntaxe La méthode courante consiste à :


Modules et
fonctions
1 télécharger les sources,
Fonctions
Imports et
modules
IInstaller des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  147 / 169 v1.1.0


Installer des packages

Présentation
du module Python possède beaucoup de librairies open source. Il n’est pas
Présentation
de Python
rare au cours de l’écriture d’un programme d’avoir besoin de
Types et
l’aide d’une librairie externe.
Opérations

Syntaxe La méthode courante consiste à :


Modules et
fonctions
1 télécharger les sources,
Fonctions
Imports et
modules
2 vérifier qu’elles contiennent bien un fichier “setup.py” ou
IInstaller des
packages “install.py”,
Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  147 / 169 v1.1.0


Installer des packages

Présentation
du module Python possède beaucoup de librairies open source. Il n’est pas
Présentation
de Python
rare au cours de l’écriture d’un programme d’avoir besoin de
Types et
l’aide d’une librairie externe.
Opérations

Syntaxe La méthode courante consiste à :


Modules et
fonctions
1 télécharger les sources,
Fonctions
Imports et
modules
2 vérifier qu’elles contiennent bien un fichier “setup.py” ou
IInstaller des
packages “install.py”,
Fichiers et
itérateurs
3 exécuter en ligne de commande la ligne suivante :
Conclusion
python setup.py install
References

Cours Intro Python  19/10/2018  147 / 169 v1.1.0


Installer des packages

Problèmes
Présentation
du module
La méthode précédente pause souvent des problèmes :
Présentation
de Python

Types et
Opérations

Syntaxe

Modules et
fonctions
Fonctions
Imports et
modules
IInstaller des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  148 / 169 v1.1.0


Installer des packages

Problèmes
Présentation
du module
La méthode précédente pause souvent des problèmes :
Présentation
de Python
le paquet est-il compatible avec mon architecture ? (système
Types et d’exploitation, autres paquets installés, . . .)
Opérations

Syntaxe

Modules et
fonctions
Fonctions
Imports et
modules
IInstaller des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  148 / 169 v1.1.0


Installer des packages

Problèmes
Présentation
du module
La méthode précédente pause souvent des problèmes :
Présentation
de Python
le paquet est-il compatible avec mon architecture ? (système
Types et d’exploitation, autres paquets installés, . . .)
Opérations
où trouver le paquet ?
Syntaxe

Modules et
fonctions
Fonctions
Imports et
modules
IInstaller des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  148 / 169 v1.1.0


Installer des packages

Problèmes
Présentation
du module
La méthode précédente pause souvent des problèmes :
Présentation
de Python
le paquet est-il compatible avec mon architecture ? (système
Types et d’exploitation, autres paquets installés, . . .)
Opérations
où trouver le paquet ?
Syntaxe

Modules et comment savoir s’il s’agit de la bonne version ?


fonctions
Fonctions
Imports et
modules
IInstaller des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  148 / 169 v1.1.0


Installer des packages

Problèmes
Présentation
du module
La méthode précédente pause souvent des problèmes :
Présentation
de Python
le paquet est-il compatible avec mon architecture ? (système
Types et d’exploitation, autres paquets installés, . . .)
Opérations
où trouver le paquet ?
Syntaxe

Modules et comment savoir s’il s’agit de la bonne version ?


fonctions
Fonctions comment gérer les dépendances ? (le fait qu’un paquet en
Imports et
modules
IInstaller des
nécessite souvent d’autres pour fonctionner)
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  148 / 169 v1.1.0


Installer des packages

Problèmes
Présentation
du module
La méthode précédente pause souvent des problèmes :
Présentation
de Python
le paquet est-il compatible avec mon architecture ? (système
Types et d’exploitation, autres paquets installés, . . .)
Opérations
où trouver le paquet ?
Syntaxe

Modules et comment savoir s’il s’agit de la bonne version ?


fonctions
Fonctions comment gérer les dépendances ? (le fait qu’un paquet en
Imports et
modules
IInstaller des
nécessite souvent d’autres pour fonctionner)
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  148 / 169 v1.1.0


pip

Présentation
du module Python propose depuis 2011 un gestionnaire de paquets appelé
Présentation
de Python
pip3. Il fonctionne de la façon suivante :
Types et
Opérations pip3 install paquet
Syntaxe

Modules et
fonctions
Fonctions
Imports et
modules
IInstaller des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  149 / 169 v1.1.0


pip

Présentation
du module Python propose depuis 2011 un gestionnaire de paquets appelé
Présentation
de Python
pip3. Il fonctionne de la façon suivante :
Types et
Opérations pip3 install paquet
Syntaxe

Modules et
pip3 a plusieurs avantages :
fonctions
Fonctions
Imports et
modules
IInstaller des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  149 / 169 v1.1.0


pip

Présentation
du module Python propose depuis 2011 un gestionnaire de paquets appelé
Présentation
de Python
pip3. Il fonctionne de la façon suivante :
Types et
Opérations pip3 install paquet
Syntaxe

Modules et
pip3 a plusieurs avantages :
fonctions
Fonctions • il n’est plus nécessaire de télécharger le paquet
Imports et
modules
IInstaller des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  149 / 169 v1.1.0


pip

Présentation
du module Python propose depuis 2011 un gestionnaire de paquets appelé
Présentation
de Python
pip3. Il fonctionne de la façon suivante :
Types et
Opérations pip3 install paquet
Syntaxe

Modules et
pip3 a plusieurs avantages :
fonctions
Fonctions • il n’est plus nécessaire de télécharger le paquet
Imports et
modules
IInstaller des • il n’est plus nécessaire de chercher les dépendances
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  149 / 169 v1.1.0


pip

Présentation
du module Python propose depuis 2011 un gestionnaire de paquets appelé
Présentation
de Python
pip3. Il fonctionne de la façon suivante :
Types et
Opérations pip3 install paquet
Syntaxe

Modules et
pip3 a plusieurs avantages :
fonctions
Fonctions • il n’est plus nécessaire de télécharger le paquet
Imports et
modules
IInstaller des • il n’est plus nécessaire de chercher les dépendances
packages

Fichiers et • il permet de choisir la version que l’on souhaite installer


itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  149 / 169 v1.1.0


pip

Présentation
du module Python propose depuis 2011 un gestionnaire de paquets appelé
Présentation
de Python
pip3. Il fonctionne de la façon suivante :
Types et
Opérations pip3 install paquet
Syntaxe

Modules et
pip3 a plusieurs avantages :
fonctions
Fonctions • il n’est plus nécessaire de télécharger le paquet
Imports et
modules
IInstaller des • il n’est plus nécessaire de chercher les dépendances
packages

Fichiers et • il permet de choisir la version que l’on souhaite installer


itérateurs

Conclusion
• il permet de mettre à jour ou de désinstaller un paquet
References

Cours Intro Python  19/10/2018  149 / 169 v1.1.0


Limites de pip

Lorsque l’on cherche à installer de grosses librairies (pyQt par


Présentation exemple), ou lorsque l’on travaille sur des projets basés sur des
du module

Présentation
versions différentes d’une librairie, ou enfin lorsque l’on souhaite
de Python tester une nouvelle librairie sans modifier son environnement, on
Types et
Opérations
pourra utiliser virtualenv.
Syntaxe

Modules et
fonctions
Fonctions
Imports et
modules
IInstaller des
packages

Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  150 / 169 v1.1.0


Limites de pip

Lorsque l’on cherche à installer de grosses librairies (pyQt par


Présentation exemple), ou lorsque l’on travaille sur des projets basés sur des
du module

Présentation
versions différentes d’une librairie, ou enfin lorsque l’on souhaite
de Python tester une nouvelle librairie sans modifier son environnement, on
Types et
Opérations
pourra utiliser virtualenv.
Syntaxe
virtualenv s’installe avec pip et permet de créer des espaces de
Modules et
fonctions travail Python séparés. On crée un environnement virtuel avec la
Fonctions
Imports et commande :
modules
IInstaller des
packages
virtualenv /chemin/de/l/environnement
Fichiers et
itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  150 / 169 v1.1.0


Limites de pip

Lorsque l’on cherche à installer de grosses librairies (pyQt par


Présentation exemple), ou lorsque l’on travaille sur des projets basés sur des
du module

Présentation
versions différentes d’une librairie, ou enfin lorsque l’on souhaite
de Python tester une nouvelle librairie sans modifier son environnement, on
Types et
Opérations
pourra utiliser virtualenv.
Syntaxe
virtualenv s’installe avec pip et permet de créer des espaces de
Modules et
fonctions travail Python séparés. On crée un environnement virtuel avec la
Fonctions
Imports et commande :
modules
IInstaller des
packages
virtualenv /chemin/de/l/environnement
Fichiers et
itérateurs

Conclusion
Pour travailler dans cet environnement, il suffit de lancer le fichier
References
“active.bat” du répertoire. Ensuite on peut installer les paquets
dont on a besoin et ils seront visibles uniquement au sein de
l’environnement virtuel.
Cours Intro Python  19/10/2018  150 / 169 v1.1.0
Déroulement de la présentation

Présentation
du module

Présentation
de Python
1 Présentation du module 5 Modules et fonctions
Types et
Opérations

Syntaxe 2 Présentation de Python 6 Fichiers et itérateurs


Modules et
fonctions

IFichiers et 3 Types et Opérations 7 Conclusion


itérateurs
Fichiers
Itérateurs

Conclusion 4 Syntaxe
References

Cours Intro Python  19/10/2018  151 / 169 v1.1.0


Déroulement de la présentation

Présentation
du module

Présentation
de Python
1 Présentation du module 5 Modules et fonctions
Types et
Opérations

Syntaxe 2 Présentation de Python 6 Fichiers et itérateurs


Modules et
fonctions Fichiers
Fichiers et 3 Types et Opérations Itérateurs
itérateurs
IFichiers
Itérateurs

Conclusion 4 Syntaxe 7 Conclusion


References

Cours Intro Python  19/10/2018  152 / 169 v1.1.0


Fichiers

En Python, il est possible de manipuler des fichiers. Pour ce


Présentation dernier type de données, nous allons voir comment lire et écrire
du module
dans un fichier.
Présentation
de Python

Types et
Opérations

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs
IFichiers
Itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  153 / 169 v1.1.0


Fichiers

En Python, il est possible de manipuler des fichiers. Pour ce


Présentation dernier type de données, nous allons voir comment lire et écrire
du module
dans un fichier.
Présentation
de Python Attention
Types et
Opérations Pour des raisons de facilité, nous allons nous contenter de
Syntaxe manipuler des fichiers texte, mais Python est capable de lire des
Modules et fichiers binaires, des images . . .
fonctions
Verbose mode
Fichiers et
itérateurs
IFichiers
Itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  153 / 169 v1.1.0


Chemins d’accès

Présentation Il existe 2 types de chemins d’accès différents :


du module

Présentation
de Python

Types et
Opérations

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs
IFichiers
Itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  154 / 169 v1.1.0


Chemins d’accès

Présentation Il existe 2 types de chemins d’accès différents :


du module

Présentation • chemins absolus : chemin depuis la racine du disque.


de Python
Windows : C:\Bureau\ENSG\PPMD\Fichier.txt
Types et
Opérations Linux : /home/sguinard/Bureau/Cours/Python/Fichier.txt
Syntaxe Mac OS : /Users/sguinard/Desktop/File.txt
Modules et
fonctions

Fichiers et
itérateurs
IFichiers
Itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  154 / 169 v1.1.0


Chemins d’accès

Présentation Il existe 2 types de chemins d’accès différents :


du module

Présentation • chemins absolus : chemin depuis la racine du disque.


de Python
Windows : C:\Bureau\ENSG\PPMD\Fichier.txt
Types et
Opérations Linux : /home/sguinard/Bureau/Cours/Python/Fichier.txt
Syntaxe Mac OS : /Users/sguinard/Desktop/File.txt
Modules et • chemins relatifs : chemins depuis lequel l’interpréteur Python
fonctions

Fichiers et
est exécuté.
itérateurs
IFichiers
Itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  154 / 169 v1.1.0


Chemins d’accès

Présentation Il existe 2 types de chemins d’accès différents :


du module

Présentation • chemins absolus : chemin depuis la racine du disque.


de Python
Windows : C:\Bureau\ENSG\PPMD\Fichier.txt
Types et
Opérations Linux : /home/sguinard/Bureau/Cours/Python/Fichier.txt
Syntaxe Mac OS : /Users/sguinard/Desktop/File.txt
Modules et • chemins relatifs : chemins depuis lequel l’interpréteur Python
fonctions

Fichiers et
est exécuté.
itérateurs
IFichiers Pour connaı̂tre le répertoire courant, on utilise la commande :
Itérateurs

Conclusion
“os.getcwd()”
References >>> os.getcwd()
’/home/sguinard/Bureau/Cours/Python/python_2017_2018’

Cours Intro Python  19/10/2018  154 / 169 v1.1.0


Ouverture d’un fichier

Un fichier s’ouvre avec la fonction open(). Cette méthode prend


Présentation
du module en paramètres :
Présentation
de Python

Types et
Opérations

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs
IFichiers
Itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  155 / 169 v1.1.0


Ouverture d’un fichier

Un fichier s’ouvre avec la fonction open(). Cette méthode prend


Présentation
du module en paramètres :
Présentation
de Python • le chemin du fichier
Types et
Opérations

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs
IFichiers
Itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  155 / 169 v1.1.0


Ouverture d’un fichier

Un fichier s’ouvre avec la fonction open(). Cette méthode prend


Présentation
du module en paramètres :
Présentation
de Python • le chemin du fichier
Types et • le mode d’ouverture (il est possible de combiner les modes)
Opérations

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs
IFichiers
Itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  155 / 169 v1.1.0


Ouverture d’un fichier

Un fichier s’ouvre avec la fonction open(). Cette méthode prend


Présentation
du module en paramètres :
Présentation
de Python • le chemin du fichier
Types et • le mode d’ouverture (il est possible de combiner les modes)
Opérations
“r” pour lire uniquement
Syntaxe

Modules et
fonctions

Fichiers et
itérateurs
IFichiers
Itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  155 / 169 v1.1.0


Ouverture d’un fichier

Un fichier s’ouvre avec la fonction open(). Cette méthode prend


Présentation
du module en paramètres :
Présentation
de Python • le chemin du fichier
Types et • le mode d’ouverture (il est possible de combiner les modes)
Opérations
“r” pour lire uniquement
Syntaxe
“w” pour écrire uniquement (écrase le contenu précédent)
Modules et
fonctions

Fichiers et
itérateurs
IFichiers
Itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  155 / 169 v1.1.0


Ouverture d’un fichier

Un fichier s’ouvre avec la fonction open(). Cette méthode prend


Présentation
du module en paramètres :
Présentation
de Python • le chemin du fichier
Types et • le mode d’ouverture (il est possible de combiner les modes)
Opérations
“r” pour lire uniquement
Syntaxe
“w” pour écrire uniquement (écrase le contenu précédent)
Modules et
fonctions “a” pour écrire à la fin (conserve le contenu précédent)
Fichiers et
itérateurs
IFichiers
Itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  155 / 169 v1.1.0


Ouverture d’un fichier

Un fichier s’ouvre avec la fonction open(). Cette méthode prend


Présentation
du module en paramètres :
Présentation
de Python • le chemin du fichier
Types et • le mode d’ouverture (il est possible de combiner les modes)
Opérations
“r” pour lire uniquement
Syntaxe
“w” pour écrire uniquement (écrase le contenu précédent)
Modules et
fonctions “a” pour écrire à la fin (conserve le contenu précédent)
Fichiers et
itérateurs Lorsque l’on n’a plus besoin du fichier, il faut le fermer avec la
IFichiers
Itérateurs méthode fichier.close().
Conclusion

References

Cours Intro Python  19/10/2018  155 / 169 v1.1.0


Ouverture d’un fichier

Un fichier s’ouvre avec la fonction open(). Cette méthode prend


Présentation
du module en paramètres :
Présentation
de Python • le chemin du fichier
Types et • le mode d’ouverture (il est possible de combiner les modes)
Opérations
“r” pour lire uniquement
Syntaxe
“w” pour écrire uniquement (écrase le contenu précédent)
Modules et
fonctions “a” pour écrire à la fin (conserve le contenu précédent)
Fichiers et
itérateurs Lorsque l’on n’a plus besoin du fichier, il faut le fermer avec la
IFichiers
Itérateurs méthode fichier.close().
Conclusion

References
Remarque
Si on cherche à ouvrir en écriture un fichier qui n’existe pas, il est
automatiquement créé.

Cours Intro Python  19/10/2018  155 / 169 v1.1.0


Lecture d’un fichier

Présentation
du module
Maintenant que nous savons ouvrir un fichier, il faut accéder aux
Présentation
de Python données à l’intérieur. Il existe plusieurs méthodes de lecture :
Types et
Opérations

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs
IFichiers
Itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  156 / 169 v1.1.0


Lecture d’un fichier

Présentation
du module
Maintenant que nous savons ouvrir un fichier, il faut accéder aux
Présentation
de Python données à l’intérieur. Il existe plusieurs méthodes de lecture :
Types et
Opérations • “read()” : lit le fichier en entier
Syntaxe

Modules et
fonctions

Fichiers et
itérateurs
IFichiers
Itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  156 / 169 v1.1.0


Lecture d’un fichier

Présentation
du module
Maintenant que nous savons ouvrir un fichier, il faut accéder aux
Présentation
de Python données à l’intérieur. Il existe plusieurs méthodes de lecture :
Types et
Opérations • “read()” : lit le fichier en entier
Syntaxe • “readline()” : lit une ligne du fichier
Modules et
fonctions

Fichiers et
itérateurs
IFichiers
Itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  156 / 169 v1.1.0


Lecture d’un fichier

Présentation
du module
Maintenant que nous savons ouvrir un fichier, il faut accéder aux
Présentation
de Python données à l’intérieur. Il existe plusieurs méthodes de lecture :
Types et
Opérations • “read()” : lit le fichier en entier
Syntaxe • “readline()” : lit une ligne du fichier
Modules et
fonctions • certaines méthodes lisent un fichier bit par bit
Fichiers et
itérateurs
IFichiers
Itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  156 / 169 v1.1.0


Lecture d’un fichier

Présentation
du module
Maintenant que nous savons ouvrir un fichier, il faut accéder aux
Présentation
de Python données à l’intérieur. Il existe plusieurs méthodes de lecture :
Types et
Opérations • “read()” : lit le fichier en entier
Syntaxe • “readline()” : lit une ligne du fichier
Modules et
fonctions • certaines méthodes lisent un fichier bit par bit
Fichiers et
itérateurs
IFichiers
Itérateurs
>>> file = open("fichier.txt", "r")
Conclusion
>>> file.read()
’Hello world’
References

Cours Intro Python  19/10/2018  156 / 169 v1.1.0


Écriture dans un fichier

Présentation
du module
Pour écrire dans un fichier, on utilise la méthode “write()”, qui
Présentation
de Python prend en paramètre la chaı̂ne de caractères à écrire. Elle renvoie
Types et
Opérations
le nombre de caractères écrits.
Syntaxe

Modules et
fonctions

Fichiers et
itérateurs
IFichiers
Itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  157 / 169 v1.1.0


Écriture dans un fichier

Présentation
du module
Pour écrire dans un fichier, on utilise la méthode “write()”, qui
Présentation
de Python prend en paramètre la chaı̂ne de caractères à écrire. Elle renvoie
Types et
Opérations
le nombre de caractères écrits.
Syntaxe
Cette méthode n’est utilisable que si le fichier est ouvert en mode
Modules et
écriture (“w” ou “a”).
fonctions

Fichiers et
itérateurs
IFichiers
Itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  157 / 169 v1.1.0


Écriture dans un fichier

Présentation
du module
Pour écrire dans un fichier, on utilise la méthode “write()”, qui
Présentation
de Python prend en paramètre la chaı̂ne de caractères à écrire. Elle renvoie
Types et
Opérations
le nombre de caractères écrits.
Syntaxe
Cette méthode n’est utilisable que si le fichier est ouvert en mode
Modules et
écriture (“w” ou “a”).
fonctions

Fichiers et >>> file = open("fichier.txt", "w")


itérateurs
IFichiers >>> file.write("Hello world")
Itérateurs
11
Conclusion
>>> file.close()
References

Cours Intro Python  19/10/2018  157 / 169 v1.1.0


With

Présentation
du module
La manipulation de fichiers peut engendrer des erreurs, y compris
Présentation
de Python en dehors du programme. Il faut donc être prudent lorsque l’on
Types et
Opérations
manipule des fichiers.
Syntaxe

Modules et
fonctions

Fichiers et
itérateurs
IFichiers
Itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  158 / 169 v1.1.0


With

Présentation
du module
La manipulation de fichiers peut engendrer des erreurs, y compris
Présentation
de Python en dehors du programme. Il faut donc être prudent lorsque l’on
Types et
Opérations
manipule des fichiers.
Syntaxe
Pour simplifier l’utilisation des fichiers, Python possède le mot clé
Modules et
“with” qui garantit la fermeture automatique du fichier.
fonctions

Fichiers et
itérateurs
IFichiers
Itérateurs

Conclusion

References

Cours Intro Python  19/10/2018  158 / 169 v1.1.0


With

Présentation
du module
La manipulation de fichiers peut engendrer des erreurs, y compris
Présentation
de Python en dehors du programme. Il faut donc être prudent lorsque l’on
Types et
Opérations
manipule des fichiers.
Syntaxe
Pour simplifier l’utilisation des fichiers, Python possède le mot clé
Modules et
“with” qui garantit la fermeture automatique du fichier.
fonctions

Fichiers et >>> with open("fichier.txt", "r") as file:


itérateurs
IFichiers file.read()
Itérateurs

Conclusion
’Hello world’
References

Cours Intro Python  19/10/2018  158 / 169 v1.1.0


Déroulement de la présentation

Présentation
du module

Présentation
de Python
1 Présentation du module 5 Modules et fonctions
Types et
Opérations

Syntaxe 2 Présentation de Python 6 Fichiers et itérateurs


Modules et
fonctions Fichiers
Fichiers et 3 Types et Opérations Itérateurs
itérateurs
Fichiers
IItérateurs

Conclusion 4 Syntaxe 7 Conclusion


References

Cours Intro Python  19/10/2018  159 / 169 v1.1.0


Itérateurs

Définition
Présentation
du module En Python, on itère sur beaucoup d’objets : listes, chaı̂nes de
Présentation
de Python
caractères, fichiers, . . . Ces objets sont des itérables, c’est-à-dire
Types et
qu’ils retournent des itérateurs.
Opérations

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs
Fichiers
IItérateurs

Conclusion

References

Cours Intro Python  19/10/2018  160 / 169 v1.1.0


Itérateurs

Définition
Présentation
du module En Python, on itère sur beaucoup d’objets : listes, chaı̂nes de
Présentation
de Python
caractères, fichiers, . . . Ces objets sont des itérables, c’est-à-dire
Types et
qu’ils retournent des itérateurs.
Opérations
Un itérateur est un objet ne pouvant que passer à la valeur
Syntaxe
suivante. Ils sont par exemple automatiquement utilisés dans les
Modules et
fonctions boucles for.
Fichiers et
itérateurs
Fichiers
IItérateurs

Conclusion

References

Cours Intro Python  19/10/2018  160 / 169 v1.1.0


Itérateurs

Définition
Présentation
du module En Python, on itère sur beaucoup d’objets : listes, chaı̂nes de
Présentation
de Python
caractères, fichiers, . . . Ces objets sont des itérables, c’est-à-dire
Types et
qu’ils retournent des itérateurs.
Opérations
Un itérateur est un objet ne pouvant que passer à la valeur
Syntaxe
suivante. Ils sont par exemple automatiquement utilisés dans les
Modules et
fonctions boucles for.
Fichiers et
itérateurs
Fichiers
Création
IItérateurs

Conclusion
Un itérateur est créé à l’aide de l’opérateur “iter()”.
References >>> i = iter(dico)
>>> type(i)
<class ’dict_keyiterator’>

Cours Intro Python  19/10/2018  160 / 169 v1.1.0


Itérateurs

Remarques
Présentation
du module

Présentation
de Python

Types et
Opérations

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs
Fichiers
IItérateurs

Conclusion

References

Cours Intro Python  19/10/2018  161 / 169 v1.1.0


Itérateurs

Remarques
Présentation
du module Les itérateurs ne possèdent qu’une seule méthode : “next()”,
Présentation qui permet de passer à l’élément suivant.
de Python

Types et
Opérations

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs
Fichiers
IItérateurs

Conclusion

References

Cours Intro Python  19/10/2018  161 / 169 v1.1.0


Itérateurs

Remarques
Présentation
du module Les itérateurs ne possèdent qu’une seule méthode : “next()”,
Présentation qui permet de passer à l’élément suivant.
de Python

Types et
Il est possible de créer plusieurs itérateurs pour un même
Opérations objet.
Syntaxe

Modules et
fonctions

Fichiers et
itérateurs
Fichiers
IItérateurs

Conclusion

References

Cours Intro Python  19/10/2018  161 / 169 v1.1.0


Itérateurs

Remarques
Présentation
du module Les itérateurs ne possèdent qu’une seule méthode : “next()”,
Présentation qui permet de passer à l’élément suivant.
de Python

Types et
Il est possible de créer plusieurs itérateurs pour un même
Opérations objet.
Syntaxe
>>> dico
Modules et
fonctions {’bleu’: ’0000FF’, ’vert’: ’00FF00’, ’rouge’: ’FF0000’, ’
Fichiers et
jaune’: ’00FFFF’}
itérateurs >>> i1 = iter(dico)
Fichiers
IItérateurs
>>> i2 = iter(dico)
Conclusion

References
>>> next(i1)
’bleu’
>>> next(i1)
’vert’
>>> next(i2)
’bleu’
Cours Intro Python  19/10/2018  161 / 169 v1.1.0
Itérateurs et fichiers

Présentation
du module

Présentation
de Python

Types et Les fichiers sont leurs propres itérateurs, on ne peut donc pas
Opérations

Syntaxe
appeler la fonction “iter()” dessus.
Modules et
fonctions

Fichiers et
itérateurs
Fichiers
IItérateurs

Conclusion

References

Cours Intro Python  19/10/2018  162 / 169 v1.1.0


Itérateurs et fichiers

Présentation
du module

Présentation
de Python

Types et Les fichiers sont leurs propres itérateurs, on ne peut donc pas
Opérations

Syntaxe
appeler la fonction “iter()” dessus.
Modules et
Cela signifie qu’il est impossible d’avoir 2 itérateurs pour un
fonctions fichier (il n’est pas possible de lire 2 lignes d’un fichier en même
Fichiers et
itérateurs
temps).
Fichiers
IItérateurs

Conclusion

References

Cours Intro Python  19/10/2018  162 / 169 v1.1.0


Boucle for

Fichiers
Présentation
du module En Python, les fichiers sont itérables avec une boucle for.
Présentation >>> for line in open("fichier.tct").readline():
de Python
print(line)
Types et
Opérations
H
Syntaxe
e
Modules et
fonctions l
Fichiers et
l
itérateurs o
Fichiers
IItérateurs

Conclusion
w
o
References
r
l
d

Cours Intro Python  19/10/2018  163 / 169 v1.1.0


Déroulement de la présentation

Présentation
du module

Présentation
de Python
1 Présentation du module 5 Modules et fonctions
Types et
Opérations

Syntaxe 2 Présentation de Python 6 Fichiers et itérateurs


Modules et
fonctions

Fichiers et 3 Types et Opérations 7 Conclusion


itérateurs

IConclusion

References 4 Syntaxe

Cours Intro Python  19/10/2018  164 / 169 v1.1.0


Python

Présentation
du module Python est un langage :
Présentation
de Python

Types et
Opérations

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

IConclusion

References

Cours Intro Python  19/10/2018  165 / 169 v1.1.0


Python

Présentation
du module Python est un langage :
Présentation
de Python • portable,
Types et
Opérations

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

IConclusion

References

Cours Intro Python  19/10/2018  165 / 169 v1.1.0


Python

Présentation
du module Python est un langage :
Présentation
de Python • portable,
Types et
Opérations • facile à prendre en main,
Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

IConclusion

References

Cours Intro Python  19/10/2018  165 / 169 v1.1.0


Python

Présentation
du module Python est un langage :
Présentation
de Python • portable,
Types et
Opérations • facile à prendre en main,
Syntaxe • plus puissant que d’autres langages interprétés
Modules et
fonctions
(Matlab/Octave),
Fichiers et
itérateurs

IConclusion

References

Cours Intro Python  19/10/2018  165 / 169 v1.1.0


Python

Présentation
du module Python est un langage :
Présentation
de Python • portable,
Types et
Opérations • facile à prendre en main,
Syntaxe • plus puissant que d’autres langages interprétés
Modules et
fonctions
(Matlab/Octave),
Fichiers et • haut niveau,
itérateurs

IConclusion

References

Cours Intro Python  19/10/2018  165 / 169 v1.1.0


Python

Présentation
du module Python est un langage :
Présentation
de Python • portable,
Types et
Opérations • facile à prendre en main,
Syntaxe • plus puissant que d’autres langages interprétés
Modules et
fonctions
(Matlab/Octave),
Fichiers et • haut niveau,
itérateurs

IConclusion
• ou la syntaxe est gérée par des indentations,
References

Cours Intro Python  19/10/2018  165 / 169 v1.1.0


Python

Présentation
du module Python est un langage :
Présentation
de Python • portable,
Types et
Opérations • facile à prendre en main,
Syntaxe • plus puissant que d’autres langages interprétés
Modules et
fonctions
(Matlab/Octave),
Fichiers et • haut niveau,
itérateurs

IConclusion
• ou la syntaxe est gérée par des indentations,
References • possédant une communauté très active,
• ...

Cours Intro Python  19/10/2018  165 / 169 v1.1.0


Ce que l’on n’a pas vu

Présentation
du module

Présentation
de Python Python permet aussi de :
Types et
Opérations

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

IConclusion

References

Cours Intro Python  19/10/2018  166 / 169 v1.1.0


Ce que l’on n’a pas vu

Présentation
du module

Présentation
de Python Python permet aussi de :
Types et
Opérations • gérer automatiquement la documentation (voir en TP),
Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

IConclusion

References

Cours Intro Python  19/10/2018  166 / 169 v1.1.0


Ce que l’on n’a pas vu

Présentation
du module

Présentation
de Python Python permet aussi de :
Types et
Opérations • gérer automatiquement la documentation (voir en TP),
Syntaxe • gérer des exceptions (voir en TP),
Modules et
fonctions

Fichiers et
itérateurs

IConclusion

References

Cours Intro Python  19/10/2018  166 / 169 v1.1.0


Ce que l’on n’a pas vu

Présentation
du module

Présentation
de Python Python permet aussi de :
Types et
Opérations • gérer automatiquement la documentation (voir en TP),
Syntaxe • gérer des exceptions (voir en TP),
Modules et
fonctions • faire de la programmation orienté objet,
Fichiers et
itérateurs

IConclusion

References

Cours Intro Python  19/10/2018  166 / 169 v1.1.0


Ce que l’on n’a pas vu

Présentation
du module

Présentation
de Python Python permet aussi de :
Types et
Opérations • gérer automatiquement la documentation (voir en TP),
Syntaxe • gérer des exceptions (voir en TP),
Modules et
fonctions • faire de la programmation orienté objet,
Fichiers et
itérateurs
• gérer des bases de données,
IConclusion

References

Cours Intro Python  19/10/2018  166 / 169 v1.1.0


Ce que l’on n’a pas vu

Présentation
du module

Présentation
de Python Python permet aussi de :
Types et
Opérations • gérer automatiquement la documentation (voir en TP),
Syntaxe • gérer des exceptions (voir en TP),
Modules et
fonctions • faire de la programmation orienté objet,
Fichiers et
itérateurs
• gérer des bases de données,
IConclusion • réaliser des interfaces graphiques (voir en TP)
References

Cours Intro Python  19/10/2018  166 / 169 v1.1.0


Aller plus loin . . .

Présentation
du module
Pour aller plus loin il y aussi beaucoup de librairies open source :
Présentation
de Python

Types et
Opérations

Syntaxe

Modules et
fonctions

Fichiers et
itérateurs

IConclusion

References

Cours Intro Python  19/10/2018  167 / 169 v1.1.0


Aller plus loin . . .

Présentation
du module
Pour aller plus loin il y aussi beaucoup de librairies open source :
Présentation
de Python
• numpy (calcul scientifique)
Types et
Opérations • pyQt (interfaces graphiques et librairies QT)
Syntaxe
• OpenCV (traitement d’images)
Modules et
fonctions • CGAL (géométrie algorithmique)
Fichiers et
itérateurs • Django (développement web)
IConclusion
• Panda3D (moteur pour faire de la 3D)
References
• pyinstaller (création d’exécutables pour toute plateforme)

Cours Intro Python  19/10/2018  167 / 169 v1.1.0


Bibliographie I

Présentation
Internet Community. Stack Overflow. https:
du module //stackoverflow.com/questions/tagged/python.
Présentation
de Python
[Online; accessed 29-August-2017]. 2017.
Types et
Opérations
Mark Lutz. Programming python. Vol. 8. O’Reilly, 1996.
Syntaxe Eric Matthes. Python crash course: a hands-on,
Modules et
fonctions
project-based introduction to programming. No Starch
Fichiers et Press, 2015.
itérateurs

Conclusion
Luciano Ramalho. Fluent Python. O’Reilly, 2015.
IReferences Guido Van Rossum and Fred L Drake Jr. Python reference
manual. Centrum voor Wiskunde en Informatica
Amsterdam, 1995.

Cours Intro Python  19/10/2018  168 / 169 v1.1.0


Merci de votre attention !

Avez-vous des questions ?

mohamed.boussaha@ign.fr
victor.coindet@ensg.eu
stephane.guinard@ign.fr
Environnements de développements

Pour coder en Python, on peut écrire en terminal, mais si l’on


souhaite réaliser un programme complet et réutilisable il est
conseillé d’utiliser un environnement de développement.
Définition
Un environnement de développement est un logiciel qui aide à la
programmation pour certains langages. Il est relié à un
compilateur ou à un interpréteur et permet d’exécuter
directement son code. En voici quelques exemples :
QTCreator : C++, Java, Python
Eclipse : C++, C], Java, Ruby, SQL, . . .
Texmaker : LATEX

Cours Intro Python  19/10/2018 1/8 v1.1.0


Environnements de développement Python

Il existe plusieurs environnements de développements utilisés avec


Python :
IDLE : environnement de développement intégré développé
par Guido van Rossum en 1998
Spyder : open source et multi-plateforme
PyCharm : version professionnelle sous licence
Retour

Cours Intro Python  19/10/2018 2/8 v1.1.0


Plus de types !

Parmi les types non vus en cours, on peut citer :


• unicode : chaı̂ne de caractères en unicode
• basestring : chaı̂ne de caractères (string ou unicode)
• frozenset : comme un ensemble mais non modifiable
• bytes : séquence de bytes modifiable
• bytearray : séquences de bytes non modifiable
• memoryview : accéder sans copie aux données internes d’un
objet
• Ellipsis (ou “. . .”) : utilisé pour les découpes
• NotImplemented : objet renvoyé lors d’opérations sur des
types non supportés
Retour

Cours Intro Python  19/10/2018 3/8 v1.1.0


Formatage de texte

Différences format et %
Bug avec % et tuple (obligé d’écrire entres paranthèses et
avec une virgule) et aussi avec Decimal
% compatible avec python 2.5
Format peut être parsé dans des appels à fonctions
Format pas compatible avec les unicode string
Retour

Cours Intro Python  19/10/2018 4/8 v1.1.0


Fonctions anonymes

Définition
Lorsque la valeur retournée par une fonction est calculable à
l’aide d’une seule instruction, Python permet de simplifier la
syntaxe de la fonction avec le mot clé “lambda” :
lambda paramètres : instruction.

Retour
Cours Intro Python  19/10/2018 5/8 v1.1.0
Fonctions anonymes

Définition
Lorsque la valeur retournée par une fonction est calculable à
l’aide d’une seule instruction, Python permet de simplifier la
syntaxe de la fonction avec le mot clé “lambda” :
lambda paramètres : instruction.

>>> produit = lambda x,y : x*y


>>> produit(3,4)
12

Retour
Cours Intro Python  19/10/2018 5/8 v1.1.0
Fonctions anonymes

Définition
Lorsque la valeur retournée par une fonction est calculable à
l’aide d’une seule instruction, Python permet de simplifier la
syntaxe de la fonction avec le mot clé “lambda” :
lambda paramètres : instruction.

>>> produit = lambda x,y : x*y


>>> produit(3,4)
12

Remarque
À la différence des fonctions classiques, les fonctions anonymes
sont des expressions et peuvent donc être employées dans une
instruction sans définition préalable.
Retour
Cours Intro Python  19/10/2018 5/8 v1.1.0
Générateurs

Définition
En Python, il existe un type de fonctions spécifiques permettant
de retourner un itérateur : les générateurs. Leur syntaxe est
similaire aux fonctions, si ce n’est que le mot clé “return” est
remplacé par le mot clé “yield”.

Cours Intro Python  19/10/2018 6/8 v1.1.0


Générateurs

Définition
En Python, il existe un type de fonctions spécifiques permettant
de retourner un itérateur : les générateurs. Leur syntaxe est
similaire aux fonctions, si ce n’est que le mot clé “return” est
remplacé par le mot clé “yield”.

def generateur(x):
n = x ** 2
yield n

>>> generateur(3)
<generator object generateur at 0x7f2354ac9a98>

>>> for elem in generateur(3):


print(elem)

9
Cours Intro Python  19/10/2018 6/8 v1.1.0
Générateurs

Remarques
Un générateur peut comporter plusieurs “yield”.
Tout ce qui peut être fait avec un générateur peut l’être avec
une fonction classique.
Les générateurs utilisent en général moins d’espace mémoire.

Retour

Cours Intro Python  19/10/2018 7/8 v1.1.0


Générateurs

Remarques
Un générateur peut comporter plusieurs “yield”.
Tout ce qui peut être fait avec un générateur peut l’être avec
une fonction classique.
Les générateurs utilisent en général moins d’espace mémoire.

def generateur(liste):
for i in liste:
yield i ** 2

def fonct_carre(liste):
liste2 = list()
for i in liste:
liste2.append(i ** 2)
return liste2
Retour

Cours Intro Python  19/10/2018 7/8 v1.1.0


Lecture de fichiers binaires

Pour lire un fichier en binaire, il faut l’ouvrir avec l’attribut “rb”


au lieu de juste “r”.

Les fonctions read() et readline() n’interpréteront pas les


caractères et se contenteront de renvoyer des bytes (de la forme
b’abcdef\r\n).
Retour

Cours Intro Python  19/10/2018 8/8 v1.1.0

Vous aimerez peut-être aussi