SlideShare une entreprise Scribd logo
1  sur  26
Le langage Python
Python est un langage portable, dynamique, extensible, gratuit, qui permet une
approche modulaire et orientée objet de la programmation
CRMEF - Marrakech
1
Python
PLAN
 INTRODUCTION
 PRÉSENTATION DE PYTHON
 PYTHON COMME LANGAGE DE PROGRAMMATION
 INTERPRÉTEUR DE COMMANDES PYTHON
 BASES DU LANGAGE
◦ ENTRÉES-SORTIES ET AFFECTATIONS
◦ STRUCTURES CONDITIONNELLES ET RÉPÉTITIVES
 CHAÎNES DE CARACTÈRES
 STRUCTURES DE DONNÉES EN PYTHON
◦ LISTES, TUBLES, DICTIONNAIRES ET SETS
 NOTION D’OBJET
 NOTION DE CLASSE
2
Python
Les concepts de la programmation
 Données et variables
◦ Un nom de variable est une séquence de lettres (a → z , A → Z) et de chiffres
(0 → 9), qui doit toujours commencer par une lettre.
◦ La casse est significative
 Types de variables
◦ Les données numériques
◦ Les chaînes de caractères
◦ Les listes
◦ Les dictionnaires
◦ …
 Affectation des variables
M=12
Chaine="Bonjour"
 Affectations multiples et parallèles
a=b=8 : affecter une valeur a plusieurs variables simultanément
i, j = 3, 2 : affectations parallèles
3
Python
Les concepts de la programmation
 Opérateurs et expressions
◦ -, +, /, *
◦ // : division entière
◦ ** : exposant
◦ % : modulo fournit le reste de la division
◦ ==, !=,
 Les commentaires : #
4
Python
Les concepts de la programmation
 Les entrées
input(): renvoie toujours une chaine de caractères
a=input("a")
 Les fonctions de conversions
int(), float(), str()
 Les sorties
print()
print("Message")
print("Message",Variable)
print("Bonjour",expression)
…
5
Python
Les concepts de la programmation
6
 Instruction de branchement
if Condition:
Séquence1
else:
Séquence2
if Condition1:
instructions
elif Condition2:
bloc_instructions
else:
autre_bloc_instructions
Python
Les concepts de la programmation
7
 Imbrication des instructions de branchement
if Condition1:
…
if Condition2:
…
if Condition3:
…
elif:
Séquences
Else:
autres Séquences
Python
Les concepts de la programmation
 Les boucles
 – L’instruction while
8
while condition:
instruction(s)
 L’instruction For
for i in range(n):
instructions
Remarque :
L’instruction range fournit une liste de valeurs.
Exemples :
range(6) représente la liste des valeurs : 0,1, 2, 3, 4, 5
range (1,6) représente la liste des valeurs : 1, 2, 3, 4, 5
range (1, 6,1) représente la liste des valeurs : 1, 2, 3, 4, 5
range (1,6, 2) représente la liste des valeurs : 1,3,5
range(6,5,-1) représente la valeur suivante : 6
i=1
while i<6:
print(i)
i+=1
for i in range(1,6):
print(i)
Python
Les concepts de la programmation
 Imbrication des boucles
 – L’instruction while
9
while condition1:
instruction(s)
while condition2:
instruction(s)
 L’instruction For
for i in range(n):
print(i)
for j in range(m):
print(j)
Python
Les concepts de la programmation
 PRINCIPAUX TYPES DE DONNÉES
 Les données numériques
 Le type integer, float
 La fonction type() nous permet de vérifier le type de la variable
 Exemple
a=5
print (type(a))
b=5.5
print (type(b))
c='bonjour'
print(type(c))
10
Python
Programmation Modulaire
 Certains problèmes conduisent à des programmes longs, difficiles à
écrire et à comprendre. On les découpe en des parties appelées sous-
programmes ou modules.
 Les fonctions et les procédures sont des modules (groupe
d'instructions) indépendants désignés par un nom. Elles ont plusieurs
intérêts :
◦ permettent de "factoriser" les programmes, càd de mettre en
commun les parties qui se répètent ;
◦ permettent une structuration et une meilleure lisibilité des
programmes ;
◦ facilitent la maintenance du code
◦ ces procédures et fonctions peuvent éventuellement être réutilisées
dans d'autres programmes.
11
Python
Programmation Modulaire
Fonctions prédéfinies :
 La fonction input() : Interaction avec l’utilisateur
 La fonction print() : affiche n’importe quel nombre de valeurs
fournies en arguments
Importer un module de fonctions
 Les modules sont des fichiers qui regroupent des ensembles de
fonctions.
 Exemple :
from math import *
Ou
from math import pi,…
12
Python
Les fonctions
 Définition d’une fonction en python
def nomdefonction ( arg1, arg2, … ,argk) :
bloc_instructions
[return valeur]
 Appel d'une fonction
◦ L’appel de la fonction prend la forme :
nomdefonction( exp1, exp2, ... expk )
13
Python
Les fonctions
 Exemple : la somme des carrés
def sommeCarre ( x, y) :
sc = x**2 + y**2
return sc
 Appel d'une fonction
>>> sommeCarre(2,5)
Ou
>>> a=2
>>> b=5
>>> sommeCarre(a,b)
>>> print(sommeCarre(a,b))
14
Python
Les fonctions
 En Python, on peut utiliser les tuples pour renvoyer plusieurs
valeurs.
def division ( a , b ) :
return a//b , a % b
 Appel de la fonction
>>> a=13
>>> b=2
>>> q , r = division ( a , b )
>>> print('Le quotient de ',a,' par ',b,' est ',q)
>>> print('Le reste de ',a,' par ',b,' est ',r)
15
Python
Les fonctions
 Variables globales et locales
 Les variables définies à l'extérieur d'une fonction sont des variables
globales. Leur contenu est visible de l'intérieur d'une fonction.
 Si l’on veut accéder à une variable globale à l’intérieur d’une
fonction, on utilise le mot-clé global en Python.
 Exemple :
16
def reinitialise( ):
x = 0
def reinitialise( ):
global x
x = 0
>>> x =7
>>> reinitialise( )
>>> print(x)
Python
Les fonctions
 Variables globales et locales
 De manière générale, si elle n’y est pas explicitement déclarée
comme globale, une variable x est locale à la fonction dans le corps
de laquelle elle est affectée.
 Elle est globale si elle est utilisée dans la fonction sans être affectée
ou si elle est déclarée globale.
def f( ):
global a
a = a + 1
c = 2 * a
return a + b + c
 Dans cette fonction, a est globale car elle est déclarée comme telle,
b est globale car elle est utilisée mais non affectée et c est locale car
elle est affectée mais n’est pas déclarée globale
17
Python
Les fonctions
 Fonction anonyme (lambda function)
 Le mot-clé lambda en Python permet la création de fonctions
anonymes (i.e. sans nom et donc non définie par def)
>>> f = lambda x : x * x
>>> f ( 3 )
 Ou peut également préciser plusieurs arguments, voire même des
valeurs par défaut :
>>> g = lambda x , y = 2 : x * y
>>> g(5, 7)
>>> g(5)
18
Python
Les fonctions
 Fonctions récursives
 Une fonction est dite récursive si elle appelle elle-même : on parle
alors d’appel récursif de la fonction
19
Version itérative : Version récursive :
def fact(n) :
f = 1
for k in range(2,n+1):
f = f * k
return f
def fact(n) :
if n==1 :
return 1
else:
return n* fact(n-1)
Python
Les chaînes de caractères
 Une chaîne de caractères est une suite finie de caractères consécutifs,
qu’on note entre apostrophes ou guillemets .
 Le type string
a="L'informatique est ..."
print (a)
b='"PC" : Personnel Computer'
print(b)
 La séquence n dans une chaine provoque un saut à la ligne.
 La séquence ' permet d’insérer une apostrophe dans une chaine
délimitée par des apostrophes.
20
Python
Les chaînes de caractères
 Accès à un caractère
◦ Chaque caractère de la chaine peut être désigné par sa place dans la
séquence, à l’aide d’un index ou indice
a="L'informatique est ..."
print (a[0], a[1], a[9])
 Concaténation :
◦ On concatène deux chaînes à l’aide de l’opérateur +
 Longueur :
 On utilise la fonction len( ) pour obtenir la longueur d’une chaîne
 Sous-chaîne :
 a[n:m] : n index de début, m-1 index de fin
 a[:m] : sous chaîne de m caractères à partir du premier caractère
 a[n:] : sous chaîne extraite à partir de l’index n
 Exemple : print(a[2:6])
21
Python
Les chaînes de caractères
 La répétition
◦ On répète une chaîne à l’aide de l’opérateur *
◦ Exemple : print(a*2)
 Test d’appartenance :
◦ Il est possible de tester la présence d’une sous-chaîne dans une
chaîne. (in)
◦ Exemple :
>>> a="L'informatique est ..."
>>> 'est' in a
True
 Les chaînes ne sont modifiables
>>> a[0]='M'
22
Python
Les chaînes de caractères
 Fonctions ord () et chr()
>>> ord('a') ----> 97
>>> chr(97) ----> ‘a’
 Parcours d’une séquence : l’instruction for ... in ...
a="L'informatique est ..."
for i in a:
print (i)
 Les chaînes sont des objets
 Sous Python, les chaînes sont des objets pour les quels on peut
appliquer un certain nombre de méthodes (fonctions)
 Exemple :
>>> a="L'informatique est ...«
 >>> a.upper()
 "L'INFORMATIQUE EST ..."
23
Python
Les chaînes de caractères
 a.find('e') #retourne l’index du caractère dans la chaine s’il existe.
 #retourne -1 si le caractère n’existe pas dans la chaine
 a.count('e')#compter le nombre d’occurrences d’une sous chaîne dans la chaine
 a.split() : transforme une chaine en une liste de sous-chaines
>>> a.split()
["L'informatique", 'est', '...']
 join(liste) : rassemble une liste de chaines en une seule
>>> l=a.split()
>>> ''.join(l)
>>> ' '.join(l)
24
Python
Les chaînes de caractères
 lower() : convertit une chaine en minuscules
 upper() : convertit une chaine en majuscules
 title() : convertit en majuscule l’initiale de chaque mot
 capitalize() : variante de la précédente. Convertit en majuscule seulement
la première lettre de la chaine :
 swapcase() : convertit toutes les majuscules en minuscules, et vice-versa
 strip() : enlève les espaces éventuels au début et à la fin de la chaine
lstrip() et rstrip()
 replace(c1, c2) : remplace tous les caractères c1 par des caractères c2 dans
la chaine.
 Exemple :
>>> a="L'informatique est ..."
>>> a.replace(' ',"***")
"L'informatique***est***..."
25
Python
Les chaînes de caractères
 Déterminer la nature d’une chaine S :
 S.isalnum() :
◦ renvoit True si S est composé uniquement des caractères {abcd...z} {ABCD...Z}
{012..9}
 S.isalpha() :
◦ renvoit True si S est composé uniquement des caractères {abcd...z} {ABCD...Z}
 S.isdigit() : renvoit True si S est composé uniquement des caractères {012..9}
 S.islower() : renvoit True si S est composé uniquement de caractères minuscules
 S.isspace() :
◦ renvoit True si S est composé uniquement d’espaces (blanc, tabulations, retour
chariot..)
 S.istitle() :
◦ renvoit True si S est un titre c’est à dire que la première lettre de chaque mot est
une majuscule.
 S.isupper() : renvoit True si S est composé uniquement de caractères majuscules
26

Contenu connexe

Tendances

Cours python
Cours pythonCours python
Cours pythonsalmazen
 
Python avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementiellePython avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementielleECAM Brussels Engineering School
 
Formation python
Formation pythonFormation python
Formation pythonj_lipaz
 
Python avancé : Gestion d'erreurs et mécanisme d'exception
Python avancé : Gestion d'erreurs et mécanisme d'exceptionPython avancé : Gestion d'erreurs et mécanisme d'exception
Python avancé : Gestion d'erreurs et mécanisme d'exceptionECAM Brussels Engineering School
 
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de trirécursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de triYassine Anddam
 
Chap4 Récursivité en python
Chap4 Récursivité en pythonChap4 Récursivité en python
Chap4 Récursivité en pythonMariem ZAOUALI
 
Chapitre 2 complexité
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexitéSana Aroussi
 
LUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdf
LUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdfLUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdf
LUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdfRedaBelattar
 
Atelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El HassaniAtelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El HassaniShellmates
 
Présentation python
Présentation pythonPrésentation python
Présentation pythonSarah
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivitéSana Aroussi
 
La programmation modulaire en Python
La programmation modulaire en PythonLa programmation modulaire en Python
La programmation modulaire en PythonABDESSELAM ARROU
 
Cours complet Base de donne Bac
Cours complet Base de donne Bac Cours complet Base de donne Bac
Cours complet Base de donne Bac Amri Ossama
 
Présentation de Django @ Orange Labs (FR)
Présentation de Django @ Orange Labs (FR)Présentation de Django @ Orange Labs (FR)
Présentation de Django @ Orange Labs (FR)Martin Latrille
 

Tendances (20)

Cours python
Cours pythonCours python
Cours python
 
Python avancé : Lecture et écriture de fichiers
Python avancé : Lecture et écriture de fichiersPython avancé : Lecture et écriture de fichiers
Python avancé : Lecture et écriture de fichiers
 
Python avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementiellePython avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementielle
 
Formation python
Formation pythonFormation python
Formation python
 
Python avancé : Gestion d'erreurs et mécanisme d'exception
Python avancé : Gestion d'erreurs et mécanisme d'exceptionPython avancé : Gestion d'erreurs et mécanisme d'exception
Python avancé : Gestion d'erreurs et mécanisme d'exception
 
TP C++ : Correction
TP C++ : CorrectionTP C++ : Correction
TP C++ : Correction
 
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de trirécursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
 
Python.pptx
Python.pptxPython.pptx
Python.pptx
 
Chap4 Récursivité en python
Chap4 Récursivité en pythonChap4 Récursivité en python
Chap4 Récursivité en python
 
Python avancé : Classe et objet
Python avancé : Classe et objetPython avancé : Classe et objet
Python avancé : Classe et objet
 
Corrige tp java
Corrige tp javaCorrige tp java
Corrige tp java
 
Chapitre 2 complexité
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexité
 
LUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdf
LUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdfLUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdf
LUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdf
 
Atelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El HassaniAtelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El Hassani
 
Présentation python
Présentation pythonPrésentation python
Présentation python
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
 
Formation python 3
Formation python 3Formation python 3
Formation python 3
 
La programmation modulaire en Python
La programmation modulaire en PythonLa programmation modulaire en Python
La programmation modulaire en Python
 
Cours complet Base de donne Bac
Cours complet Base de donne Bac Cours complet Base de donne Bac
Cours complet Base de donne Bac
 
Présentation de Django @ Orange Labs (FR)
Présentation de Django @ Orange Labs (FR)Présentation de Django @ Orange Labs (FR)
Présentation de Django @ Orange Labs (FR)
 

Similaire à COURS_PYTHON_22.ppt

01 - Introduction à Python chaines de caractères.pdf
01 - Introduction à Python chaines de caractères.pdf01 - Introduction à Python chaines de caractères.pdf
01 - Introduction à Python chaines de caractères.pdfMARYAM510573
 
Formation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptxFormation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptxbetalab
 
IMPLEMENTATION EN PYTHON DES CONVENTIONS ALGORITHMIQUES (2022-2023)
IMPLEMENTATION EN PYTHON DES CONVENTIONS ALGORITHMIQUES  (2022-2023)IMPLEMENTATION EN PYTHON DES CONVENTIONS ALGORITHMIQUES  (2022-2023)
IMPLEMENTATION EN PYTHON DES CONVENTIONS ALGORITHMIQUES (2022-2023)Tunisie collège
 
Introduction au langage python notion de base
Introduction au langage python notion de baseIntroduction au langage python notion de base
Introduction au langage python notion de basemohamedAitomar1
 
Introduction au langage python (Notion de base)
Introduction au langage python (Notion de base)Introduction au langage python (Notion de base)
Introduction au langage python (Notion de base)mohamedAitomar1
 
Chap 1 Initiation.pptx
Chap 1 Initiation.pptxChap 1 Initiation.pptx
Chap 1 Initiation.pptxolfaharrabi2
 
cours lanagage c avec des exemples d'application
cours lanagage c avec des exemples d'applicationcours lanagage c avec des exemples d'application
cours lanagage c avec des exemples d'applicationkamalomari2
 
Développement informatique : Chaines de caractères et expressions regulières
Développement informatique : Chaines de caractères et expressions regulièresDéveloppement informatique : Chaines de caractères et expressions regulières
Développement informatique : Chaines de caractères et expressions regulièresECAM Brussels Engineering School
 
Ch2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfCh2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfFadouaBouafifSamoud
 
Formation python micro club.net
Formation python micro club.netFormation python micro club.net
Formation python micro club.netZakaria SMAHI
 
Cours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfCours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfHailisara
 
Python avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de donnéesPython avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de donnéesECAM Brussels Engineering School
 
Chapitre 2: String en Java
Chapitre 2:  String en JavaChapitre 2:  String en Java
Chapitre 2: String en JavaAziz Darouichi
 

Similaire à COURS_PYTHON_22.ppt (20)

01 - Introduction à Python chaines de caractères.pdf
01 - Introduction à Python chaines de caractères.pdf01 - Introduction à Python chaines de caractères.pdf
01 - Introduction à Python chaines de caractères.pdf
 
TP5_2020.pdf
TP5_2020.pdfTP5_2020.pdf
TP5_2020.pdf
 
Formation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptxFormation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptx
 
Mathématiques et Python
Mathématiques et PythonMathématiques et Python
Mathématiques et Python
 
Language-C.ppt
Language-C.pptLanguage-C.ppt
Language-C.ppt
 
IMPLEMENTATION EN PYTHON DES CONVENTIONS ALGORITHMIQUES (2022-2023)
IMPLEMENTATION EN PYTHON DES CONVENTIONS ALGORITHMIQUES  (2022-2023)IMPLEMENTATION EN PYTHON DES CONVENTIONS ALGORITHMIQUES  (2022-2023)
IMPLEMENTATION EN PYTHON DES CONVENTIONS ALGORITHMIQUES (2022-2023)
 
Introduction au langage python notion de base
Introduction au langage python notion de baseIntroduction au langage python notion de base
Introduction au langage python notion de base
 
Introduction au langage python (Notion de base)
Introduction au langage python (Notion de base)Introduction au langage python (Notion de base)
Introduction au langage python (Notion de base)
 
langage C++
langage C++langage C++
langage C++
 
TAD (1).pptx
TAD (1).pptxTAD (1).pptx
TAD (1).pptx
 
Chap 1 Initiation.pptx
Chap 1 Initiation.pptxChap 1 Initiation.pptx
Chap 1 Initiation.pptx
 
cours lanagage c avec des exemples d'application
cours lanagage c avec des exemples d'applicationcours lanagage c avec des exemples d'application
cours lanagage c avec des exemples d'application
 
Développement informatique : Chaines de caractères et expressions regulières
Développement informatique : Chaines de caractères et expressions regulièresDéveloppement informatique : Chaines de caractères et expressions regulières
Développement informatique : Chaines de caractères et expressions regulières
 
Ch2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfCh2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdf
 
Formation python micro club.net
Formation python micro club.netFormation python micro club.net
Formation python micro club.net
 
Theme 7
Theme 7Theme 7
Theme 7
 
Langage C
Langage CLangage C
Langage C
 
Cours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfCours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdf
 
Python avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de donnéesPython avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de données
 
Chapitre 2: String en Java
Chapitre 2:  String en JavaChapitre 2:  String en Java
Chapitre 2: String en Java
 

COURS_PYTHON_22.ppt

  • 1. Le langage Python Python est un langage portable, dynamique, extensible, gratuit, qui permet une approche modulaire et orientée objet de la programmation CRMEF - Marrakech 1
  • 2. Python PLAN  INTRODUCTION  PRÉSENTATION DE PYTHON  PYTHON COMME LANGAGE DE PROGRAMMATION  INTERPRÉTEUR DE COMMANDES PYTHON  BASES DU LANGAGE ◦ ENTRÉES-SORTIES ET AFFECTATIONS ◦ STRUCTURES CONDITIONNELLES ET RÉPÉTITIVES  CHAÎNES DE CARACTÈRES  STRUCTURES DE DONNÉES EN PYTHON ◦ LISTES, TUBLES, DICTIONNAIRES ET SETS  NOTION D’OBJET  NOTION DE CLASSE 2
  • 3. Python Les concepts de la programmation  Données et variables ◦ Un nom de variable est une séquence de lettres (a → z , A → Z) et de chiffres (0 → 9), qui doit toujours commencer par une lettre. ◦ La casse est significative  Types de variables ◦ Les données numériques ◦ Les chaînes de caractères ◦ Les listes ◦ Les dictionnaires ◦ …  Affectation des variables M=12 Chaine="Bonjour"  Affectations multiples et parallèles a=b=8 : affecter une valeur a plusieurs variables simultanément i, j = 3, 2 : affectations parallèles 3
  • 4. Python Les concepts de la programmation  Opérateurs et expressions ◦ -, +, /, * ◦ // : division entière ◦ ** : exposant ◦ % : modulo fournit le reste de la division ◦ ==, !=,  Les commentaires : # 4
  • 5. Python Les concepts de la programmation  Les entrées input(): renvoie toujours une chaine de caractères a=input("a")  Les fonctions de conversions int(), float(), str()  Les sorties print() print("Message") print("Message",Variable) print("Bonjour",expression) … 5
  • 6. Python Les concepts de la programmation 6  Instruction de branchement if Condition: Séquence1 else: Séquence2 if Condition1: instructions elif Condition2: bloc_instructions else: autre_bloc_instructions
  • 7. Python Les concepts de la programmation 7  Imbrication des instructions de branchement if Condition1: … if Condition2: … if Condition3: … elif: Séquences Else: autres Séquences
  • 8. Python Les concepts de la programmation  Les boucles  – L’instruction while 8 while condition: instruction(s)  L’instruction For for i in range(n): instructions Remarque : L’instruction range fournit une liste de valeurs. Exemples : range(6) représente la liste des valeurs : 0,1, 2, 3, 4, 5 range (1,6) représente la liste des valeurs : 1, 2, 3, 4, 5 range (1, 6,1) représente la liste des valeurs : 1, 2, 3, 4, 5 range (1,6, 2) représente la liste des valeurs : 1,3,5 range(6,5,-1) représente la valeur suivante : 6 i=1 while i<6: print(i) i+=1 for i in range(1,6): print(i)
  • 9. Python Les concepts de la programmation  Imbrication des boucles  – L’instruction while 9 while condition1: instruction(s) while condition2: instruction(s)  L’instruction For for i in range(n): print(i) for j in range(m): print(j)
  • 10. Python Les concepts de la programmation  PRINCIPAUX TYPES DE DONNÉES  Les données numériques  Le type integer, float  La fonction type() nous permet de vérifier le type de la variable  Exemple a=5 print (type(a)) b=5.5 print (type(b)) c='bonjour' print(type(c)) 10
  • 11. Python Programmation Modulaire  Certains problèmes conduisent à des programmes longs, difficiles à écrire et à comprendre. On les découpe en des parties appelées sous- programmes ou modules.  Les fonctions et les procédures sont des modules (groupe d'instructions) indépendants désignés par un nom. Elles ont plusieurs intérêts : ◦ permettent de "factoriser" les programmes, càd de mettre en commun les parties qui se répètent ; ◦ permettent une structuration et une meilleure lisibilité des programmes ; ◦ facilitent la maintenance du code ◦ ces procédures et fonctions peuvent éventuellement être réutilisées dans d'autres programmes. 11
  • 12. Python Programmation Modulaire Fonctions prédéfinies :  La fonction input() : Interaction avec l’utilisateur  La fonction print() : affiche n’importe quel nombre de valeurs fournies en arguments Importer un module de fonctions  Les modules sont des fichiers qui regroupent des ensembles de fonctions.  Exemple : from math import * Ou from math import pi,… 12
  • 13. Python Les fonctions  Définition d’une fonction en python def nomdefonction ( arg1, arg2, … ,argk) : bloc_instructions [return valeur]  Appel d'une fonction ◦ L’appel de la fonction prend la forme : nomdefonction( exp1, exp2, ... expk ) 13
  • 14. Python Les fonctions  Exemple : la somme des carrés def sommeCarre ( x, y) : sc = x**2 + y**2 return sc  Appel d'une fonction >>> sommeCarre(2,5) Ou >>> a=2 >>> b=5 >>> sommeCarre(a,b) >>> print(sommeCarre(a,b)) 14
  • 15. Python Les fonctions  En Python, on peut utiliser les tuples pour renvoyer plusieurs valeurs. def division ( a , b ) : return a//b , a % b  Appel de la fonction >>> a=13 >>> b=2 >>> q , r = division ( a , b ) >>> print('Le quotient de ',a,' par ',b,' est ',q) >>> print('Le reste de ',a,' par ',b,' est ',r) 15
  • 16. Python Les fonctions  Variables globales et locales  Les variables définies à l'extérieur d'une fonction sont des variables globales. Leur contenu est visible de l'intérieur d'une fonction.  Si l’on veut accéder à une variable globale à l’intérieur d’une fonction, on utilise le mot-clé global en Python.  Exemple : 16 def reinitialise( ): x = 0 def reinitialise( ): global x x = 0 >>> x =7 >>> reinitialise( ) >>> print(x)
  • 17. Python Les fonctions  Variables globales et locales  De manière générale, si elle n’y est pas explicitement déclarée comme globale, une variable x est locale à la fonction dans le corps de laquelle elle est affectée.  Elle est globale si elle est utilisée dans la fonction sans être affectée ou si elle est déclarée globale. def f( ): global a a = a + 1 c = 2 * a return a + b + c  Dans cette fonction, a est globale car elle est déclarée comme telle, b est globale car elle est utilisée mais non affectée et c est locale car elle est affectée mais n’est pas déclarée globale 17
  • 18. Python Les fonctions  Fonction anonyme (lambda function)  Le mot-clé lambda en Python permet la création de fonctions anonymes (i.e. sans nom et donc non définie par def) >>> f = lambda x : x * x >>> f ( 3 )  Ou peut également préciser plusieurs arguments, voire même des valeurs par défaut : >>> g = lambda x , y = 2 : x * y >>> g(5, 7) >>> g(5) 18
  • 19. Python Les fonctions  Fonctions récursives  Une fonction est dite récursive si elle appelle elle-même : on parle alors d’appel récursif de la fonction 19 Version itérative : Version récursive : def fact(n) : f = 1 for k in range(2,n+1): f = f * k return f def fact(n) : if n==1 : return 1 else: return n* fact(n-1)
  • 20. Python Les chaînes de caractères  Une chaîne de caractères est une suite finie de caractères consécutifs, qu’on note entre apostrophes ou guillemets .  Le type string a="L'informatique est ..." print (a) b='"PC" : Personnel Computer' print(b)  La séquence n dans une chaine provoque un saut à la ligne.  La séquence ' permet d’insérer une apostrophe dans une chaine délimitée par des apostrophes. 20
  • 21. Python Les chaînes de caractères  Accès à un caractère ◦ Chaque caractère de la chaine peut être désigné par sa place dans la séquence, à l’aide d’un index ou indice a="L'informatique est ..." print (a[0], a[1], a[9])  Concaténation : ◦ On concatène deux chaînes à l’aide de l’opérateur +  Longueur :  On utilise la fonction len( ) pour obtenir la longueur d’une chaîne  Sous-chaîne :  a[n:m] : n index de début, m-1 index de fin  a[:m] : sous chaîne de m caractères à partir du premier caractère  a[n:] : sous chaîne extraite à partir de l’index n  Exemple : print(a[2:6]) 21
  • 22. Python Les chaînes de caractères  La répétition ◦ On répète une chaîne à l’aide de l’opérateur * ◦ Exemple : print(a*2)  Test d’appartenance : ◦ Il est possible de tester la présence d’une sous-chaîne dans une chaîne. (in) ◦ Exemple : >>> a="L'informatique est ..." >>> 'est' in a True  Les chaînes ne sont modifiables >>> a[0]='M' 22
  • 23. Python Les chaînes de caractères  Fonctions ord () et chr() >>> ord('a') ----> 97 >>> chr(97) ----> ‘a’  Parcours d’une séquence : l’instruction for ... in ... a="L'informatique est ..." for i in a: print (i)  Les chaînes sont des objets  Sous Python, les chaînes sont des objets pour les quels on peut appliquer un certain nombre de méthodes (fonctions)  Exemple : >>> a="L'informatique est ...«  >>> a.upper()  "L'INFORMATIQUE EST ..." 23
  • 24. Python Les chaînes de caractères  a.find('e') #retourne l’index du caractère dans la chaine s’il existe.  #retourne -1 si le caractère n’existe pas dans la chaine  a.count('e')#compter le nombre d’occurrences d’une sous chaîne dans la chaine  a.split() : transforme une chaine en une liste de sous-chaines >>> a.split() ["L'informatique", 'est', '...']  join(liste) : rassemble une liste de chaines en une seule >>> l=a.split() >>> ''.join(l) >>> ' '.join(l) 24
  • 25. Python Les chaînes de caractères  lower() : convertit une chaine en minuscules  upper() : convertit une chaine en majuscules  title() : convertit en majuscule l’initiale de chaque mot  capitalize() : variante de la précédente. Convertit en majuscule seulement la première lettre de la chaine :  swapcase() : convertit toutes les majuscules en minuscules, et vice-versa  strip() : enlève les espaces éventuels au début et à la fin de la chaine lstrip() et rstrip()  replace(c1, c2) : remplace tous les caractères c1 par des caractères c2 dans la chaine.  Exemple : >>> a="L'informatique est ..." >>> a.replace(' ',"***") "L'informatique***est***..." 25
  • 26. Python Les chaînes de caractères  Déterminer la nature d’une chaine S :  S.isalnum() : ◦ renvoit True si S est composé uniquement des caractères {abcd...z} {ABCD...Z} {012..9}  S.isalpha() : ◦ renvoit True si S est composé uniquement des caractères {abcd...z} {ABCD...Z}  S.isdigit() : renvoit True si S est composé uniquement des caractères {012..9}  S.islower() : renvoit True si S est composé uniquement de caractères minuscules  S.isspace() : ◦ renvoit True si S est composé uniquement d’espaces (blanc, tabulations, retour chariot..)  S.istitle() : ◦ renvoit True si S est un titre c’est à dire que la première lettre de chaque mot est une majuscule.  S.isupper() : renvoit True si S est composé uniquement de caractères majuscules 26