Académique Documents
Professionnel Documents
Culture Documents
- Python -
1
Plan :
Programmation-Orientée-Objet
Versions existantes : 2. et 3.
https://learn.onemonth.com/fr/10-sites-web-
celebres-construits-avec-python/
Python has won the prestigious TIOBE Programming Language of the Year award for the second time in a row.
Gratuit
Orienté objet
Choix de l’OS
Installation
de Python
Installation
de Python
Installation
de Python
Installation
de PyCharm
Installation
de PyCharm
Installation
de PyCharm
Installation
de PyCharm
Installation
de PyCharm
Installation
de PyCharm
Création d’un
nouveau projet
Création d’un
nouveau projet
Création d’un
nouveau projet
Règles générales :
1. Le nom des variables Python doit commencer par une lettre ou un trait de soulignement. Exemples: var, _var=3,6
2. Un chiffre ne peut pas être la première lettre d'un nom de variable.
3. À l'exception de la première lettre d'un nom de variable, les lettres restantes peuvent être caractères minuscules (az),
caractères majuscules (AZ), trait de soulignement (_) ou chiffre (0-9).
4. L'espace blanc ou caractères spéciaux comme (!,$,%,@,#,&,* …) ne doivent pas faire partie du nom de la variable
Python.
5. Les variables Python ne doivent pas être identiques au mot réservé comme (in and or if del for is raise assert elif from
lambda return break else global not try class except while continue exec import pass yield def finally ). Les mots ou mots clés
réservés sont définis avec une signification et une syntaxe prédéfinies dans la langue.
6. Les variables Python sont sensibles à la casse. Par exemple, var et Var sont considérés comme deux variables différentes.
Il est toujours recommandé d'avoir un nom significatif pour une variable. Il rend le code facile à lire lorsque le
nom de la variable est descriptif. Même les noms de variables à plusieurs mots sont acceptables. Nous
pouvons créer des variables multi-mots en utilisant les méthodes ci-dessous:
Forme de chameau
Chaque mot ou abréviation au milieu de la phrase commence par une majuscule, sans espace ni ponctuation.
Exemples: employeeId, nameOfTheEmployee, ageOfTheEmployee
Forme de Pascal
C'est la même chose que le cas du chameau sauf que la première lettre est également en majuscule.
Exemples: EmployeeId, NameOfTheEmployee, AgeOfTheEmployee
Forme de serpent
Ici, nous utilisons un trait de soulignement (_) pour séparer les mots.
Exemples: id_employé, nom_du_employé, age_de_le_employé
• Lorsque nous attribuons la même valeur à deux variables différentes, - (x=3) --> id(x) : 1798602928
cela crée un seul objet et les deux variables font référence au même - (x=3) --> type(x) : <class 'int'>
objet. C'est pourquoi nous obtenons le même identifiant lors de - (x+=1) --> id(x) : 1798602960
l'impression de l'id () des deux variables. (Exemple : x,y=25,25 - (x+=1) --> type(x) : <class 'int'>
id(x)=id(y)) - (x+=0.5) --> id(x) : 2985067683960
• Lorsque nous attribuons une valeur différente aux variables, cela - (x+=0.5) --> type(x) : <class 'float'>
crée deux objets différents et nous obtenons donc deux sorties - (L=[0,1,2]) --> id(L) : 2985102564424
différentes. - (L=[0,1,2]) --> type(L) : <class 'list'>
- (L.append(3)) --> id(L) : 2985102564424
- (L.append(3)) --> type(L) : <class 'list'>
x=3
y = 3.0 >>> x = 3 <class 'int'>
print("x =", x, type(x)) y = 3.0 <class 'float'>
print("y =", y, type(y))
Parmi les structures de données simples on peut citer les types des nombres
entiers int, des nombres réels float et les types de nombres complexes complex.
Ces structures de données représentent des types immutables.
Fonctions de conversion
Booléen (Type 3)
Les booléens sont le résultat d’opérations logiques et ont deux valeurs
possibles : True ou False.
Exemple :
x=4<5
print(x) # affiche True
print(not x) # affiche False
Booléen
La liste des opérateurs de comparaisons
opérateur signification exemple
<> inférieur, supérieur x=5 <5
<= >= inférieur ou égal, supérieur ou égal x = 5 <= 5
== != égal, différent x = 5 == 5
t = "morceau 1" \
"morceau 2" # second morceau ajouté au premier par l'ajout du
symbole \, il ne doit rien y avoir après le symbole \, pas d'espace ni de
commentaire
t = """première ligne
seconde ligne""" # chaîne de caractères qui s'étend sur deux lignes
x = 5.567
s = str(x)
print(type(s), s) # <type 'str'> 5.567
print(len(s)) # affiche 5
Exemples :
st = "langage python"
print(st.startswith('gage',3,20)) # affiche True
print(st.endswith('py',3,20)) # affiche False
print(st.index("p")) # affiche 8
print(st.count("python")) # affiche 1
print(st.count("python", 9)) # affiche 0
K.ELHARI 2015-2016 37 S1 : Architecture des Ordinateurs
Chapitre 1. Les Bases du langage Python
Les variables (Chaines de caractères)
Syntaxe %
".... %c1 .... %c2 " % (v1,v2)
Avec ci indique le format dans lequel la variable vi devra être transcrite
Exemple:
x = 0.123456789
print(x) # affiche 0.123456789
print("%1.2f" % x) # affiche 0.12
print("%06.2f" % x) # affiche 000.12
print("%09.2f" % x) # affiche 000000.12
a, b, c
a, b, c
>>>
c, b, a
abracadabra
K.ELHARI 2015-2016 41 S1 : Architecture des Ordinateurs
Chapitre 1. Les Bases du langage Python
Les variables (Chaines de caractères)
print('{:.2%}'.format(19.0 / 22.0))
>>>
print("int: {0:d}; hex: {0:x}; oct: {0:o}; bin:
{0:b}".format(42)) 86.36%
print("int: {0:d}; hex: {0:#x}; oct: {0:#o}; bin: int: 42; hex: 2a; oct: 52; bin: 101010
{0:#b}".format(42)) int: 42; hex: 0x2a; oct: 0o52; bin:
print('{:,}'.format(1234567890)) 0b101010
1,234,567,890
Exercice 1:
Définir une chaine de caractères : ch="il a 50 ans, 11 mois et 25 jours", puis effectuez les
actions suivantes :
– calculez la longueur de la chaine ch;
– vérifiez si la chaine ch contient le chiffre 30;
– calculez le nombre d’apparition de la lettre i dans la chaine ch;
– affichez l’indice de la lettre m dans la chaine ch;
– divisez la chaine ch en une liste l en prenant la chaine d’espace " " comme délimiteur;
– Reconstruisez la chaine ch en concaténant les éléments de la liste l;
– affichez les caractères du 10eme au 16eme élément de la chaine ch;
– affichez le 14ème caractère de la chaine ch ;
– vérifiez si la chaine ch est numérique ou non;
– vérifiez si la chaine ch se termine par "ours" .
K.ELHARI 2015-2016 S1 : Architecture des Ordinateurs
Chapitre 1. Les Bases du langage Python
Les variables (Tuples)
Tuple
Les tuples sont un tableau d’objets qui peuvent être de tout type. Ils ne sont
pas modifiables (les tuple sont immuables ou immutable)
Tuple
Les tuples ne sont pas modifiables (ou mutables), cela signifie qu’il est
impossible de modifier un de leurs éléments. Par conséquent, la ligne
d’affectation suivante n’est pas correcte :
x = ("un",[1,2,3],"deux",2)
x [0] = 3 # déclenche une erreur d'exécution
x[1][1]=5
print(x) # affiche ('un', [1, 5, 3], 'deux', 2)
a,b=2,3
c=(a,b)
print(c) # affiche (2, 3)
c=(b,a)
print(c) # affiche (3, 2)
Liste
Dictionnaire
Ensemble ou set
Liste
Définition :
Les listes sont des collections d’objets qui peuvent être de tout type. Elles sont
modifiables. Une liste apparaît comme une succession d’objets compris entre
crochets et séparés par des virgules.
x = [9,0,3,5,0]
print(x.index(1)) # cherche la position de >>> ValueError: list.index(x): x not in list
l'élément 1
x = [9, 0, 3, 5, 0]
try:
print(x.index(1)) >>> 1 n'est pas présent dans la liste x
except ValueError:
print("1 n'est pas présent dans la liste x")
else:
print("trouvé")
s=0
for n in range (1,20,2) : # ce programme est équivalent à
s += n # s = sum(range(1,20,2))
Boucles et listes
Il est possible aussi de ne pas se servir des indices comme intermédiaires
pour accéder aux éléments d’une liste quand il s’agit d’effectuer un même
traitement pour tous les éléments de la liste
Boucles et listes
Le langage python offre la possibilité de résumer cette écriture en une seule ligne.
Cette définition de liste peut également inclure des tests ou des boucles
imbriquées.
Copie
Le signe égal = peut être utilisé pour construire une copie d’une liste.
Cependant, la nouvelle liste sera liée à la liste existante. Cela signifie que la
nouvelle liste sera également modifiée si vous mettez à jour la liste originale.
La nouvelle liste se réfère à un élément similaire à l’ancienne liste.
La meilleure solution pour copier une liste qui sera indépendante de la liste
d’origine est la fonction copie().
l = [4, 5, 6]
l2 = l
print(l) # affiche [4,5,6]
print(l2) # affiche [4,5,6]
l2[1] = "modif"
print(l) # affiche [4, 'modif', 6]
print(l2) # affiche [4, 'modif', 6]
Copie
Pour copier une liste, on peut utiliser la fonction copy du module copy
Exemple 1: Exemple 2:
Exercice 2:
Définir la liste : liste =[15, 10, 5, 20, 35], puis effectuez les actions suivantes :
– triez de manière décroissante et affichez la liste ;
– ajoutez l’élément 60 à la liste et affichez la liste ;
– renversez et affichez la liste ;
– affichez l’indice de l’élément 35;
– enlevez l’élément 20 et affichez la liste ;
– affichez la sous-liste du 2eme au 4eme élément ;
– affichez la sous-liste du début au 3eme élément ;
– affichez la sous-liste du 3eme élément à la fin de la liste ;
– calculer le nombre d’apparition du l’élément 5 ;
– dupliquez la liste 2 fois.
x = { "cle1":"valeur1", "cle2":"valeur2" }
y={} # crée un dictionnaire vide
z = dict() # crée aussi un dictionnaire vide
print(x["cle1"]) #affiche valeur1
K.ELHARI 2015-2016 61 S1 : Architecture des Ordinateurs
Chapitre 1. Les Bases du langage Python
Les variables (Dictionnaires)
La plupart des fonctions disponibles pour les listes sont interdites pour les - dict = {'nom': 'ali', 'age': 20, 'fonction':
dictionnaires comme la concaténation ou l’opération de multiplication. Les 'étudiant'}
seuls repères des éléments d’un dictionnaire sont leurs clés. - dict['nom'] : ali
- dict1.get('age') : 20
- dict1.get('ville') : None
x in d vrai si x est une des clés de d - dict1["ville"]="rabat"
x not in d réciproque de la ligne précédente - dict1["pays"]="maroc"
- dict : {'nom': 'ali', 'age': 20, 'fonction':
d[i] retourne l’élément associé à la clé i 'étudiant', 'ville': 'rabat', 'pays': 'maroc'}
len(d) nombre d’éléments de d - type(dict) : <class 'dict'>
- len(dict1) : 5
min(d) plus petite clé
- min(dict1) : age
max(d) plus grande clé - max(dict1) : ville
- 'nom' in dict1 : True
del d [i] supprime l’élément associé à la clé i
- 'ali' in dict1 : False
list (d) retourne une liste contenant toutes les clés du dictionnaire d - 'ali' in dict1.values() : True
for cle,valeur in dict2.items():
dict (x) convertit x en un dictionnaire si cela est possible, d est alors print("- la clé -%s- contient la valeur -%s-
égal à dict ( d.items () ) "%(cle,valeur)) # affiche les clés et leurs valeurs
K.ELHARI 2015-2016 62 S1 : Architecture des Ordinateurs
Chapitre 1. Les Bases du langage Python
Les variables (Dictionnaires)
d = {4: 4, 5: 5, 6: 6}
d2 = d.copy()
print(d) # affiche {4: 4, 5: 5, 6: 6}
print(d2) # affiche {4: 4, 5: 5, 6: 6}
d2[5] = "modif"
print(d) # affiche {4: 4, 5: 5, 6: 6}
print(d2) # affiche {4: 4, 5: 'modif', 6: 6}
Une des utilisation les plus courantes des ensembles est de les utiliser pour
supprimer des valeurs doublons à partir d’un autre type de données.
Pour créer un ensemble, nous allons utiliser une paire d’accolades { } et placer
les différents éléments de notre ensemble entre ces accolades en les séparant
avec une virgule.
NB: Notez que pour créer un ensemble vide il faudra utiliser la fonction set()
car la syntaxe { } va créer un dictionnaire vide et non pas un ensemble vide.
Exemples:
set1 = set() # Nouvel ensemble vide #1stitem = set1[0] # Erreur d'index introuvable
set1.add("cat") # Ajout d'un membre isempty = len(set1) == 0 # Test si l'ensemble est vide
print(set1) # Affiche {'cat'} set1 = set(["cat", "dog"]) # Initialisation de l'ensemble depuis une
set1.update(["dog", "mouse"]) # Ajout de plusieurs liste de membre
membres print(set1) # Affiche {'dog', 'cat'}
print(set1) # Affiche {'dog', 'cat', 'mouse'} set2 = set(["dog", "mouse"])
if "cat" in set1: # Recherche d'un membre print(set2) # Affiche {'dog', 'mouse'}
set1.remove("cat") # Retrait d'un membre set3 = set1 & set2 # Intersection
print(set1) # Affiche {'dog', 'mouse'} print(set3) # Affiche {'dog'}
#set1.remove("elephant") - Erreur de retrait d'un set4 = set1 | set2 # Union
membre introuvable print(set4) # Affiche {'dog', 'cat', 'mouse'}
set1.discard("elephant") # Aucune erreur de retrait set5 = set1 - set3 # Différence
d'un membre introuvable print(set5) # Affiche {'cat'}
print(set1) # Affiche {'dog', 'mouse'} set7 = set1.copy() # Copie d'un ensemble
print(set7) # Affiche {'dog', 'cat'}
set7.remove("cat")
for item in set1: # Itération pour chaque élément print(set7) # Affiche {'dog'}
print(item) # Affiche dog puis mouse set8 = set1.copy()
print("Item count:", len(set1)) # Compte des éléments - print(set8) # Affiche {'dog', 'cat'}
affiche 2 set8.clear() # Effacement d'un ensemble
En résumé :
L’indentation
L’indentation est synonyme de décalage. Pour toute boucle, test, fonction, et plus tard, toute
définition de classe, le fait d’indenter ou décaler les lignes permet de définir une
dépendance d’un bloc de lignes par rapport à un autre.