SlideShare une entreprise Scribd logo
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

PPTX
Chapitre1: Langage Python
Aziz Darouichi
 
PPTX
Introduction à Python
Abdoulaye Dieng
 
PDF
Introduction à Python - Achraf Kacimi El Hassani
Shellmates
 
PDF
Les listes en Python
ABDESSELAM ARROU
 
PDF
Cours python avancé
pierrepo
 
PPTX
FormationPython2019.pptx
LamissGhoul1
 
PDF
Cours python
salmazen
 
PPTX
Python.pptx
Jaouad Rachek
 
Chapitre1: Langage Python
Aziz Darouichi
 
Introduction à Python
Abdoulaye Dieng
 
Introduction à Python - Achraf Kacimi El Hassani
Shellmates
 
Les listes en Python
ABDESSELAM ARROU
 
Cours python avancé
pierrepo
 
FormationPython2019.pptx
LamissGhoul1
 
Cours python
salmazen
 
Python.pptx
Jaouad Rachek
 

Tendances (20)

PDF
Atelier Python 2eme partie par Achraf Kacimi El Hassani
Shellmates
 
PDF
Chap 6 : classes et interfaces
Aziz Darouichi
 
PPTX
Formation python 3
WajihBaghdadi1
 
PDF
Fascicule de tp atelier développement web
Houda TOUKABRI
 
PDF
La programmation modulaire en Python
ABDESSELAM ARROU
 
PPTX
Présentation python
Sarah
 
PDF
Chap1: Cours en C++
Aziz Darouichi
 
PDF
Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI
Mansouri Khalifa
 
PPTX
Formation python
j_lipaz
 
PDF
Python avancé : Interface graphique et programmation évènementielle
ECAM Brussels Engineering School
 
PDF
Cours : les listes chainées Prof. KHALIFA MANSOURI
Mansouri Khalifa
 
PPTX
Python For Data Science - French Course
Haytam ELYOUSSFI
 
PDF
Python avancé : Gestion d'erreurs et mécanisme d'exception
ECAM Brussels Engineering School
 
PDF
TP2-UML-Correction
Lilia Sfaxi
 
PDF
TP C++ : Correction
L’Université Hassan 1er Settat
 
PDF
Chap2 Les conteneurs en python
Mariem ZAOUALI
 
PDF
Cours Programmation Orientée Objet en C++
Amina HAMEURLAINE
 
PDF
Correction Examen 2016-2017 POO .pdf
slimyaich3
 
PDF
Merise+ +exercices+mcd+-+corrigés
Majid CHADAD
 
PPTX
Cours algo: Les pointeurs
Sana REFAI
 
Atelier Python 2eme partie par Achraf Kacimi El Hassani
Shellmates
 
Chap 6 : classes et interfaces
Aziz Darouichi
 
Formation python 3
WajihBaghdadi1
 
Fascicule de tp atelier développement web
Houda TOUKABRI
 
La programmation modulaire en Python
ABDESSELAM ARROU
 
Présentation python
Sarah
 
Chap1: Cours en C++
Aziz Darouichi
 
Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI
Mansouri Khalifa
 
Formation python
j_lipaz
 
Python avancé : Interface graphique et programmation évènementielle
ECAM Brussels Engineering School
 
Cours : les listes chainées Prof. KHALIFA MANSOURI
Mansouri Khalifa
 
Python For Data Science - French Course
Haytam ELYOUSSFI
 
Python avancé : Gestion d'erreurs et mécanisme d'exception
ECAM Brussels Engineering School
 
TP2-UML-Correction
Lilia Sfaxi
 
Chap2 Les conteneurs en python
Mariem ZAOUALI
 
Cours Programmation Orientée Objet en C++
Amina HAMEURLAINE
 
Correction Examen 2016-2017 POO .pdf
slimyaich3
 
Merise+ +exercices+mcd+-+corrigés
Majid CHADAD
 
Cours algo: Les pointeurs
Sana REFAI
 
Publicité

Similaire à COURS_PYTHON_22.ppt (20)

PPT
phyton introduction initiative programmation
FchtlMounim
 
PDF
Un même algorithme peut être écrit python
novaai7171
 
DOCX
4SI-Algo-2025 manuel et resumé de programmation
jokertunis2022
 
PDF
01 - Introduction à Python chaines de caractères.pdf
MARYAM510573
 
PDF
TP5_2020.pdf
mouradlamraoui1
 
PPTX
Introduction à la programmattion en langage C.pptx
ssuserf313bf
 
PDF
2-Elements de bases(variables-Opérateurs-Entrée-Sortie 2021.pdf
LuneSabsPericolo1
 
PDF
2-Elements de bases(variables-Opérateurs-Entrée-Sortie 2021.pdf
LuneSabsPericolo1
 
PPTX
Algorithmique et progrfgfgfgfgfgfgffggfammation PYTHON.pptx
ssuser80a7e81
 
PPTX
Formation en Python_Niveau1_2023.pptx
betalab
 
PDF
cour informatique niveau3 programmation en Python.pdf
Nanchi6
 
PDF
Mathématiques et Python
Dany-Jack Mercier
 
PPT
Language-C.ppt
EmnaBenSaid2
 
PDF
IMPLEMENTATION EN PYTHON DES CONVENTIONS ALGORITHMIQUES (2022-2023)
Tunisie collège
 
PPTX
cours détaillé python premier annee OFPPT.pptx
MedUsfi
 
PPTX
cours détaillé python premier annee OFPPT.pptx
MedUsfi
 
PPT
Introduction au Langage C – Concepts de Base et Structures de Contrôle
BCLacc1
 
PPT
C-Programming-Cours-Langage-C_Beginner_Debutant.ppt
BCLacc1
 
PPTX
Introduction au langage python notion de base
mohamedAitomar1
 
PPTX
Introduction au langage python (Notion de base)
mohamedAitomar1
 
phyton introduction initiative programmation
FchtlMounim
 
Un même algorithme peut être écrit python
novaai7171
 
4SI-Algo-2025 manuel et resumé de programmation
jokertunis2022
 
01 - Introduction à Python chaines de caractères.pdf
MARYAM510573
 
TP5_2020.pdf
mouradlamraoui1
 
Introduction à la programmattion en langage C.pptx
ssuserf313bf
 
2-Elements de bases(variables-Opérateurs-Entrée-Sortie 2021.pdf
LuneSabsPericolo1
 
2-Elements de bases(variables-Opérateurs-Entrée-Sortie 2021.pdf
LuneSabsPericolo1
 
Algorithmique et progrfgfgfgfgfgfgffggfammation PYTHON.pptx
ssuser80a7e81
 
Formation en Python_Niveau1_2023.pptx
betalab
 
cour informatique niveau3 programmation en Python.pdf
Nanchi6
 
Mathématiques et Python
Dany-Jack Mercier
 
Language-C.ppt
EmnaBenSaid2
 
IMPLEMENTATION EN PYTHON DES CONVENTIONS ALGORITHMIQUES (2022-2023)
Tunisie collège
 
cours détaillé python premier annee OFPPT.pptx
MedUsfi
 
cours détaillé python premier annee OFPPT.pptx
MedUsfi
 
Introduction au Langage C – Concepts de Base et Structures de Contrôle
BCLacc1
 
C-Programming-Cours-Langage-C_Beginner_Debutant.ppt
BCLacc1
 
Introduction au langage python notion de base
mohamedAitomar1
 
Introduction au langage python (Notion de base)
mohamedAitomar1
 
Publicité

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