Plan de cours Python I
Programme
Chapitre 1 : Présentation du langage Python
Chapitre 2 : Elément de base du langage
Chapitre 3 : Structure de contrôle
Chapitre 4 : Structure de données complémentaires
Chapitre 5 : Fonction et modules
Chapitre 6 : Programmation orienté objet.
Chapitre 1 : Présentation du
langage Python :
I-Définition du langage :
Python est langage de script de haut niveau, structuré et open source. Il est multi paradigme
et multi usage, développé à l'origine par Guido Van Rossum en 1989. Il est comme la plupart des
applications et outil open source, maintenue par une équipe de développeur.
Conçu pour être orienté objet, il n'on dispose pas moins d'outils permettant de se livrer à la
programmation fonctionnelle ou impérative ; c'est d'ailleurs l'une des raisons qui lui vaut son
appellation de langage agile.
Parmi les autres raisons, citant la rapidité du développement, la grande quantité de modules
fournis dans la distribution de base ainsi que le nombre d'interface disponible avec des
bibliothèques écrites en C, C++ ou Fortran. Il est également apprécié pour la clarté de sa syntaxe ce
qui l'oppose au langage Perl.
II- Caractéristiques du langage :
Les principales caractéristiques de Python sont :
-Python est portable (il peut être utilisé dans n'importe quel système d'exploitation)
-Python est gratuit
-Python convient aussi bien à des scripts d’une dizaine de lignes qu'à des projets complexes de
plusieurs dizaines de millier de ligne
La syntaxe de python est très simple et, combinée à des types de données évoluée (Dictionnaire,
liste), conduit à des programmes à la fois très compactes et très lisible.
-Python gère ces ressources (mémoires, descripteur de ficher sans intervention du programmeur),
par un mécanisme de comptage de référence
- Il n'y a pas de pointeur explicite en Python
-Python est multi thread (c'est un processus informatique en cours d’exécution)
-Python est orienté objet
-Python intègre un système d'expression
-Python est dynamique, orthogonal (il suffit d'engendrer certaines constructions), réflectif (il support
la méta programmation) et introspectif (il a un grand nombre d'outil de développement comme un
déboguer)
-Python est dynamiquement typé (pas besoin de déclarer le type)
-Python possède actuellement deux implémentations ; l'une interprété et l'autre génère
directement du byte code Java
-Python est extensible (on peut facilement faire des extensions avec des bibliothèques de C qui
existe)
-La bibliothèque standard de Python et des package donne accès à une grande variété de service :
chaine de caractère et expression régulière, les services unis standard, protocole internet,
persistance et base de données, l'interface graphique
-Python est un langage qui continu à évoluer
-Enfin, Python est un langage de choix pour traiter le XMen.
III- L'utilisation :
Python se prête à un grand nombre de tâche. La distribution de base permet entre autres :
-Des développement réseaux,
-La création d'interface graphique (via TCL/TK)
-De la programmation CGI
-De traiter du XMen etc.
Il est également de plus en plus utilisé comme langage prototypage.
Exemple d'utilisation de Python :
- Le serveur d'application Zope
- Administration du moteur de recherche google
- Administration des fermes de rendu de la société d'effet spéciaux ILM
- L'application de dessin vectoriel Skencil (anciennement appelé Sketch)
-Boa constructor, outil de développement rapide d'application WX Python.
IV-Installation :
1-Exécution sans installation
Site : http://pythonfiddle.com
2-Installation
Site : http://www.python.org/dowload
Site : http://www.portable.com
3-Mode interactif
Print ("Hello World")
Chapitre 2 : Eléments de base
du langage
I-Editeurs
1-Utilité des éditeurs
Si le mode interactif a permis d'apprendre très rapidement les bases du langage, par
expérimentation, cette façon de faire présente toute fois un gros inconvénient : toute les séquences
d'instructions écrites disparaissent irrémédiablement. Il convient donc de sauvegarder des
programmes dans les fichiers, sur une mémoire morte, de manière à pouvoir les retravailler de
manière successive, les transférer sur d'autres machines etc.
Par conséquent il vaut mieux utiliser des éditeurs de texte des spécialisé en programmation appelé
environnement développement intégré (IDE). Par exemple :
-Scite
-DrPython
-Eclipse
-Netbean
-NEdit
-PythonWin
-Python Scripter
Certains IDE permet de lancer des scripts en cliquant. Toute fois d'une manière générale, il faut les
exécuter en lançant en ligne de commande l'interpréteur Python, en lui fournissant comme premier
argument le nom du fichier qui contient le script
Exemple :
Python Monscript.py
1.Ouvrir python (command line).
Print ("Bonjour tout le monde")
2.Saissez
a=3
Print(a)
3.Saissez ces commandes
a=0
While (a<4 : [il faut décaler à la ligne d'un espace]
a=+1
print ("Semaine", a)
4. Ouvrir un éditeur de texte, écrivez :
a=0
while (a<20)
a = a+1
print ("Semaine, a, 2023")
et enregistrer. py
5.Ouvrez la ligne de commande du SE,
Placez votre invite de commande dans le répertoire de votre fichier *.py affichez votre fichier *.py
dans votre invite de commande et exécutez.
III- Affiche un texte
1- print ()
Exemple : print ("hello world")
---int1, int2 = 1, 2
---print (u"le résultat de", int1, '+', int2, "est :", int1+int2)
---print (u"le résultat de" +str)
Exercice :
1- Décrivez le plus clairement et le plus complètement possible ce qui se passe à chacune des
trois lignes de l’exemple ci-dessous
Largeur = 20
Hauteur = 5*9.3
Largeur* hauteur
930.0
2- Assignez les valeurs respectives 3,5,7 à trois variables a, b, c. Effectuer l’opération a-b/c. Le résultat
est-il mathématiquement correct ? si ce n’est pas le cas, comment devez-vous procéder pour qu’il le soit
V – Variables
1- Affectation
Exemples: altitude = 320 # réaffectation
Print(altitude)
Altitude = 375
X = y = 7 # affectation multiples
A,b = 4, 8.33 affectations parallèles
2- Principe de fonctionnement
Exemples : x = 7
Message = ‘quoid de neuf ?’
Pi = 3.14159
a- Les references
Exemples :
Utilisation des references
A = [(1,0,0), (0,1,0), (0,0,1)]
B=a
Print(a)
Print(b)
B[0] = (1,1,0)
Print(b)
Print(b)
Exemples 2: indépendances des variables
A = [1,2,3]
B=a
Print(a)
Print(
Les structures de contrôle
I- Définition
Les structures sont les groupes d’instructions qui determinent l’ordre dans lequel les actions sont
éffectuées. En programmation moderne, il en existe seulement trois :
- La séquence
- La sélection
- La repartition
II- Séquence d’instructions
Sauf mention explicite, les instructions d’un programme s’exécutent les unes après les autres,
dans l’ordre ou elles ont été écrites à l’interieur du script.
III- Sélection ou exécution conditionnelle
Exemple 1 : a = 11
If a > 10 :
Print(‘a est plus grand que dix’)
Exemple 2 :
If a > 10 :
Print(‘a est plus grand que 10’)
Else :
Print(‘a n’est pas plus grand que 10’)
Exemple 3 :
If a > 10 :
Print(‘a est plus grand que dix’)
Elif a == 10 :
Print(‘a est egale à dix’)
Else :
Print(‘a n’est pas plus grand que 10’)
IV- Instructions imbriquées
If embranchement == ‘vertébrés’ :
If classe == ‘mamifères’ :
If ordre == ‘carnivores’ :
If famille == ‘felins’ :
Print(‘c’est peut-être un chat’)
Print(‘c’est en tous cas un mamifère’)
Elif classe == ‘oiseaux’ :
Print(‘c’est peut-être un canari’)
Print(‘la classification des animaux est complexe’)
V- Pass
De manière générale, un bloc contient tout le code avec une même indentation
Exemple : # ceci est un bloc principal
If condition :
Bloc 2
If condition2
Bloc3
Fin Bloc2
Fin Bloc1
Si a un endroit on a syntaxiquement besoin d’un bloc mais qu’il n’y a rien à faire, on peut utiliser
l’instruction Pass , qui justement ne fait rien.
Exemple
If condition :
Pass
Else :
Instruction
Exemple :
a=3
if a==3 :
if a==3
Pass
Else :
Print(‘a est différent de 3’)
VI. Instructions répétitives (Boucles)
1) L’instruction while
Syntaxe
While condition :
Commandes
Exemple : i=0
While i <5 :
I=i+1
Print(i)
2) Construction d’une suite mathématique
Exemple : écrivez un programme qui affiche les 20 premiers termes de la table de multiplication.
3) L’instruction for
Syntaxe
Exemple : for i in range(5)
Print(i)
Exemple 2 : for champ in [‘champ 1’,’champ 2’,’champ 3’]
Print(champ)
4) Les instructions ‘’break’’,’’continue’’
Exemple1 : for i in range(5) :
If i==3 :
Break #arrêt de la boucle avant sa fin
Print(i)
Exemple2 : for i in range(5) :
If == 3 :
Continue # passe à l’itération suivante
Print(i)
VII) TYPE
1) TYPAGE DES VARIABLES
Python est un langage à typage dynamique cela signifie que bien que gérant différent types,
lorsqu’une variable est affectée l’interpréteur trouvera automatiquement son type sans que
l’utilisateur soit contraint de le préciser.
Par opposition, le typage statique est préférable dans le cas des langages compilés comme C++
et JAVA parce qu’il permet d’optimiser l’opération de compilation (dont le résultat est un code
binaire figé)
Le typage dynamique quant à lui permet d’écrire plus aisément des constructions logiques de
niveaux élevés (métaprogrammation réflexibilité) en particulier dans la programmation orientée
Objet (polymorphisme). Il facilite également l’utilisation des structures des données très riches
tel que les listes et des dictionnaires.
2) Types natifs
Liste des types
Int Nombre entier optimisé
long Nombre entier de taille arbritaire
Float Nombre à virgule flotante
Complex Nombre complexe
Str Chaine de caractères
Unicode Chaines de caractères unicode
Tuple Liste de longueur fixe
Liste Liste de longueur variable
Dict Dictionnaire
File Fichier
Bool Booléen
Nonetype Absence de type
Notimplementedtype Absence d’implémentation
Functions Fonction
module module
3) Détermination d’un type
Syntaxe
Type()
Exemple : a=3
Type(a)
4) Conversion des types
- int() : modifie la variable en entier
- long() :transforme une variable
- str() : transforme des variables en chaine de caractères
- float() : transformation en flottant
- repr() :similaire à ‘’str’’
- eval() :évalue le contenu de son argument comme si c’était du code python
- split() :sépare une chaine en liste
- join() :transforme une liste en chaine dont le séparateur est préférable
- datetime.stoptime(‘20170727222900’ ,‘%y%n%d%h%m%s’) : change une chaine en date
- maDate.stoptime(‘%y%n%d%h%m%s’)change une liste en chaine.
-
CHAP 4 : STRUCTURES DE DONNEES COMPLEMENTAIRES
I- Listes
1- Déclaration
Les listes sont des séquences, des collections ordonnées d’objets séparés des virgules. La déclaration
se fait avk l’opérateur d’indication ([]).
Exemple : maListe = [‘a’, ‘b’, ‘c’]
2- Lecture
Exemple : maListe[0]
maListe[-1]
maListe[0 : 2]
maListe[1 : ]
a- Types
Exemple : jour = [‘lundi’, ‘mardi’, ‘mercredi’, ‘jeudi’, ‘vendredi’, 484778347]
Print(jour)
b- Recherche
Exemple : print(‘’a’’ in [‘’a’’, ‘’b’’, ‘’c’’] # True
Print(not ‘’a’’ in [‘’a’’, ‘’b’’, ‘’c’’] # false
Print [‘’a’’, ‘’b’’, ‘’c’’].index (‘’aaa) = = 0 #true
Print [‘’a’’, ‘’b’’, ‘’c’’].index (‘’Z’’) # valueError
3- Modification
a- Affectation
Exemple : jour = [‘lundi’, mardi’, ‘mercredi’, ‘jeudi’, ‘vendredi’, 484778347]
Jour[5] = jour[5]+ 1016
Jour (jour)
Exemple : jour = [‘lundi’, mardi’, ‘mercredi’, ‘jeudi’, ‘vendredi’, [‘samedi matin’, ‘samedi après-midi’,
‘samedi soir’], ‘ dimanche’]
Jour [5][0] = ‘samedi midi’
b- Operation
Exemple : fruits = [‘origine’, ‘citron’]
Legumes = [‘poireau’, oignon’, tomate’]
Fruits+legumes
Fruits*3
c- Techniques de slicing avancées pour modifier une liste
Exemple : # insertion
Mots = [‘jambon’, ‘fromage’, ‘confiture’, ‘chocolat’]
Mots[2 : 2] = [‘miel’}
Mots
Mots [5 :5] = [‘saucisson’, ‘ketchup’]
Mots
# suppression
Mots [2 : 5] = []
Mots
Mots[1 : 3] = [‘saladé’]
Mots # une tranche est remplacée par un seul élément
Mots[1 :] = [‘mayonnaise’, ‘poulet’, tomate’]
Mots # tranche de deux éléments remplacée par une autre qui en comporte 3
# difference
a = [‘jambon’, ‘fromage’, ‘confiture’, ‘chocolat’]
b = [‘jambon’, ‘mayonnaise’, ‘poulet’, ‘tomate’]
print