Vous êtes sur la page 1sur 28

Le langage Python

Python est un langage portable, dynamique, extensible, gratuit, qui permet une
approche modulaire et oriente objet de la programmation

CRMEF - Marrakech
1

Les concepts de la programmation


Python

Donnes et variables

Sous Python, les noms de variables doivent en outre obir a quelques


rgles simples :
Un nom de variable est une squence de lettres (a z , A Z) et de
chiffres (0 9), qui doit toujours commencer par une lettre.
La casse est significative

Affectation des variables


M=12
Chaine="Bonjour"

Affectations multiples
a=b=8 : affecter une valeur a plusieurs variables simultanment
i, j = 3, 2 : affectations parallles

Les concepts de la programmation


Python

Oprateurs et expressions
-, +, /, *
// : division entire
** : exponentiel
% : modulo fournit le reste de la division
*** :
==, !=,

Les commentaires : #

Les concepts de la programmation


Python

Les entres
input(): renvoie toujours une chaine de caractres

Les fonctions de conversions


int(), float(), string()

Les sorties
print()
Les options de print sep et end
print("Bonjour", "", "tous", sep ="*")

Les concepts de la programmation


Python

Instruction de branchement
if Condition:
Squence1
else:
Squence2

if Condition1:
instructions
elif Condition2:
bloc_instructions
else:
autre_bloc_instructions

Les concepts de la programmation


Python

Rptitions en boucle Linstruction while


while

condition:
instruction(s)

Rptitions en boucle Linstruction For


for

i in range(1,6):
print("Bonjour")

Remarque :
Linstruction range fournit une liste de valeurs.
Exemples :
range(6)
reprsente la liste des valeurs : 0,1, 2, 3, 4, 5
range (1,6)
reprsente la liste des valeurs : 1, 2, 3, 4, 5
range (1, 6,1)
reprsente la liste des valeurs : 1, 2, 3, 4, 5
range (1,6, 2)
reprsente la liste des valeurs : 1,3,5
range(6,5,-1)
reprsente la valeur suivante : 6
6

Les concepts de la programmation


Python

PRINCIPAUX TYPES DE DONNES

Les donnes numriques

Le type integer, float

La fonction type() nous permet de vrifier le type de la variable

Exemple
a=5
print (type(a))
b=5.5
print (type(b))
c='bonjour'
print(type(c))

Les chanes de caractres


Python

Une chane de caractres est une suite finie de caractres conscutifs,


quon note entre apostrophes ou guillemets ;

Le type string
a="L'informatique est ..."
print (a)
b='"PC" : Personnel Computer'
print(b)

La squence \n dans une chaine provoque un saut la ligne.

La squence \' permet dinsrer une apostrophe dans une chaine


dlimite par des apostrophes

Python considre quune chaine de caractres est un objet de la


catgorie des squences lesquelles sont des collections ordonnes
dlments.

Les chanes de caractres


Python

Accs un caractre
Chaque caractre de la chaine peut tre dsign par sa place dans la
squence, laide dun index ou indice
a="L'informatique est ..."
print (a[0], a[1], \n a[9])

Concatnation :
On concatne deux chanes laide de loprateur +

Longueur :

On utilise la fonction len( ) pour obtenir la longueur dune chane

Sous-chane :

a[n:m] : n debut, m longueur

a[:m] : sous chane de m longueur partir du premier caractre

a[n:] : sous chane extraite partir du nme caractre

Exemple : print(a[2:6])

Les chanes de caractres


Python

La rptition
On rpte une chane laide de loprateur *
Exemple : print(a*2)

Test dappartenance :
Il est possible de tester la prsence dune sous-chane dans une
chane. (in)
Exemple :
>>> 'est' in a
True

Les chanes ne sont modifiables

>>> a[0]='M'
Traceback (most recent call last):
File "<console>", line 1, in <module>
TypeError: 'str' object does not support item assignment

10

Les chanes de caractres


Python

Fonctions ord () et chr()


>>> print (ord('a')) ----> 97

>>> print (chr(97))

----> a

Parcours dune squence : linstruction for ... in ...


a="L'informatique est ..."
for i in a:
print (i)

Les chanes sont des objets

Sous Python, les chanes sont des objets pour les quels on peut
appliquer un certain nombre de mthodes (fonctions)

Exemple :
>>> a="L'informatique est ...

>>> a.upper()

"L'INFORMATIQUE EST ..."

11

Les chanes de caractres


Python

a.find('e') #retourne lindex du caractre dans la chaine sil existe.


#retourne -1 si le caractre nexiste pas dans la chaine

a.count('e')#compter le nombre doccurrences dune sous chane 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)
"L'informatique est ..."

a.strip(car') #Supprimer un caractre gauche et droite dune chaine


>>> a='12311'
>>> a.strip('1')
'23'
12

Les chanes de caractres


Python

lower() : convertit une chaine en minuscules

upper() : convertit une chaine en majuscules

title() : convertit en majuscule linitiale de chaque mot

capitalize() : variante de la prcdente. Convertit en majuscule seulement


la premire lettre de la chaine :

swapcase() : convertit toutes les majuscules en minuscules, et vice-versa

strip() : enlve les espaces ventuels au dbut et a la fin de la chaine


lstrip() et rstrip()

replace(c1, c2) : remplace tous les caractres c1 par des caractres c2 dans
la chaine.

Exemple :
>>> a="L'informatique est ..."
>>> a.replace(' ',"***")
"L'informatique***est***..."

13

Les chanes de caractres


Python

Dterminer la nature dune chaine S :

S.isalnum() :

renvoit True si S est compos uniquement des caractres {abcd...z} {ABCD...Z}


{012..9}

S.isalpha() :

renvoit True si S est compos uniquement des caractres {abcd...z} {ABCD...Z}

S.isdigit() : renvoit True si S est compos uniquement des caractres {012..9}

S.islower() : renvoit True si S est compos uniquement de caractres minuscules

S.isspace() :
renvoit True si S est compos uniquement despaces (blanc, tabulations, retour
chariot..)

S.istitle() :
renvoit True si S est un titre cest dire que la premire lettre de chaque mot est
une majuscule.

S.isupper() : renvoit True si S est compos uniquement de caractres majuscules

14

Python

Les concepts de la programmation

Parcours dune squence : linstruction for ... in ...

Ecrire ce programme avec linstruction while


for s'applique aussi aux listes et aux tuples
liste=['lundi', 'mardi', 'mercredi', 'jeudi']

for jour in liste:


print (jour)
liste.append('vendredi')
print (liste)

15

Programmation Modulaire
Python

Certains problmes conduisent des programmes longs, difficiles


crire et comprendre. On les dcoupe en des parties appeles sousprogrammes ou modules.

Les fonctions et les procdures sont des modules (groupe


d'instructions) indpendants dsigns par un nom. Elles ont plusieurs
intrts :
permettent de "factoriser" les programmes, cd de mettre en
commun les parties qui se rptent ;
permettent une structuration et une meilleure lisibilit des
programmes ;
facilitent la maintenance du code
ces procdures et fonctions peuvent ventuellement tre rutilises
dans d'autres programmes.

16

Programmation Modulaire
Python

Fonctions prdfinies :

La fonction input() : Interaction avec lutilisateur

La fonction print() : affiche nimporte 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,

17

Les fonctions
Python

Dfinition dune fonction en python


def nomdefonction ( arg1, arg2, ,argk) :
bloc_instructions
return

valeur

Appel d'une fonction


Lappel de la fonction prend la forme :
nomdefonction( exp1, exp2, ... expk )

18

Les fonctions
Python

Exemple : la somme des carrs


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))
19

Les fonctions
Python

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)

20

Les fonctions
Python

Variables globales et locales

Les variables dfinies l'extrieur d'une fonction sont des variables


globales. Leur contenu est visible de l'intrieur d'une fonction, mais
la fonction ne peut pas le modifier.

Si lon veut accder une variable globale lintrieur dune


fonction, on utilise le mot-cl global en Python.

Exemple :
def

reinitialise( ): def
x = 0

reinitialise( ):
global x
x = 0

>>> x =7
>>> reinitialise( )
>>> print(x)

21

Les fonctions
Python

Variables globales et locales

De manire gnrale, si elle ny est pas explicitement dclare


comme globale, une variable x est locale la fonction dans le corps
de laquelle elle est affecte. Elle est globale si elle est utilise dans la
fonction sans tre affecte ou si elle est dclare globale.
def f( ):
global a
a = a + 1
c = 2 * a
return a + b + c

Dans cette fonction, a est globale car elle est dclare comme telle,
b est globale car elle est utilise mais non affecte et c est locale car
elle est affecte mais nest pas dclare globale
22

Les fonctions
Python

Fonction anonyme (lambda function)

Le mot-cl lambda en Python permet la cration de fonctions


anonymes (i.e. sans nom et donc non dfinie par def)

>>> f = lambda

x :

x * x

>>> f ( 3 )

Ou peut galement prciser plusieurs arguments, voire mme des


valeurs par dfaut :

>>> g =

lambda

x , y = 2 :

x * y

>>> g(5, 7)
>>> g(5)
23

Les fonctions
Python

Fonctions rcursives

Une fonction est dite rcursive si elle appelle elle-mme : on parle


alors dappel rcursif de la fonction
Version itrative :

def

fact(n) :

def

f = 1
for

Version rcursive :
fact(n) :
if n==0 :

in

range(2,n+1):

f = f * k
return f

return 1
else:
return n* fact(n-1)

24

Programmation Modulaire : Les fonctions


Python

Passage des paramtres en Python :

Arguments de types immuables :

>>> print('Le reste de ',a,' par ',b,' est ',r)

25

Les tableaux
Python

En python les tableaux peuvent tre reprsents par des listes:

Une liste est une collection ordonne et modifiable dlments


ventuellement htrognes.

Tableau simple dimension

a- Initialisation

Exemple 1:
>>> T=[23,15,2,30]
>>> T
[23, 15, 2, 30]

-4
0
23

-3
1
15

-2
2
2

-1
3
30

Exemple 2:
>>> a=5 * [0]
>>> a
[0, 0, 0, 0, 0]

b- Traitement

Saisir 10 nombres entiers dans un tableau T, puis afficher leur somme


26

Les tableaux
Python

b- Traitement

Saisir 10 nombres entiers dans un tableau T, puis afficher leur somme

Version 1

Version 2

27

Les tableaux
Python

Tri dun tableau simple dimension

Le tri consiste ordonner les lments du tableau dans lordre croissant ou


dcroissant

Il existe plusieurs algorithmes connus pour trier les lments dun tableau :
Le tri par slection
Le tri par insertion
Le tri bulles

Tri par slection

Principe : On cherche le plus petit lment du tableau et on le place en


premier, puis on cherche le plus petit dans ce qui reste et on le met en
second, etc

Exemple :
0

3
28

Vous aimerez peut-être aussi