Initiation à Python: 2
èmeSéance Université Mohammed V de Rabat
Faculté des Sciences de Rabat Pr Bouabid El Ouahidi
ouahidi@fsr.ac.ma
Notions Liées à la programmation
❑ Variables
❑ Objets
❑ Affectation
❑ Expression
❑ Types
❑ Les tests
❑ Boucle
❑ Fonctions
❑ Modules
❑ Fichiers
❑ Etc
Variable ?
Définition
C’est une zone mémoire contenant une information. La taille en octets de cette zone dépend de cette information.
En Python x=3
x est une variable qui contient la référence de l’objet 3.
Variable
Objet
x
La valeur de x ici:X 3
Le type de x
<class int>
Les méthodes:
+, -, etc
RAM
Objet ?
Définition:
Un objet est une partie de programme en mémoire contenant:
❑ Les données de l’objet
❑ Les méthodes (opérations) qui agissent sur ces données
On manipule les objets avec des variables. Une variable va contenir la référence de l’objet
En Python tout est objet.
En C, il n’y a pas la notion d’objet.
Un autre exemple en Python s=‘’rabat’’
Déroulement: d’abord l’objet ‘’rabat’’ est crée en mémoire à
une adresse @a (par exemple). Ensuite, @a est mis s. A méditer
>> s.upper() RABAT
Objet
s @a
La valeur de x ici:X rabat
Le type de s
<class str>
Les méthodes:
upper(), lower(), etc
Variable @a
Pour simplifier on utilise plutôt ce schéma:
Objet
s X
Variable
rabat
Noms de variables?
❑ Suite quelconque alphanumérique (abc.., ABC…, 123…. )
a=3, x=8, ab1=9, A=8
❑ Ne peut jamais commencer par un chiffre 1a=4
2x=8
❑ Peut commencer par _:
_x=9, _abc=8,
❑ Les variables sont sensibles à la casse.
A ≠ a
Affectation
De manière générale: x=expression
Dans une affection, la partie à gauche de = est calculée et l’objet correspondant est crée, puis sa référence est stockée dans la partie droite de =.
Exemple:
b= 2*a+8
L’expression 2*a+8 est évaluée soit v sa valeur, l’objet v est crée et sa référence est affecté à b.
Python a=6
x,y=7,9
A,B,C,D=8,’rabat’, ‘#’,7 Remarque
x=5 y=x
y et x référencent le même objet 5.
La Notion de type
❖ Les données manipulées par un programme sont typés : entiers, réels, complexes, tableaux, listes, chaines de caractères, dictionnaires, ensemble, etc.
❖ Un programmeur peut aussi définir des types.
❖ Connaître le type permet de savoir les méthodes/opérations à utiliser sur les données.
>>> x=4
Python déduit que l’objet 4 est de type <class, int>, en gros un entier.
En Java et C
Le typage est statique, c’est-à-dire que le programmeur déclare le type à utiliser.
int x, float y En Python:
Le typage est dynamique, c’est-à-dire c’est l’interpréteur qui déduit le type.
Typage Toute variable a un type. Le typage est dynamique en Python
Connaître le type d’une variable: type() a=3
type(a)
b=‘’RABAT’’
type(b)
L=[1,2,3,6]
type(l)
A retenir
Pour connaitre le type de x par exemple:
type(x)
Les entiers : int
❑ x=6 y=99
❑ Précision illimitée (i.e nombre de chiffre très grand)
les réels: float
❑ x=9.8,
❑ y=10.88899
❑ Précision limitée (15 chiffres en générale) nombres décimaux
Les nombres complexes: complexe
❑ x=6+7j
❑ y= 4-j
Les types numériques de Python
Opérations
Les opérations usuelles sur les trois types (int, foat, complex)
❑ +, - , *, ** (puissance), / (Division)
❑ // (Division entière) , % (modulo) pour le type int
❑ etc
Opérations bits à bits:
❑ & (et), | (ou), ^ (ou exclusif), >>, <<, etc Autres opérations/méthodes sur les entiers:
❑ hex(x) donne l’hexadécimale de l’entier x
❑ bin(x) donne le binaire de l’entier x
❑ oct(x) donne l’octal de l’entier x
❑ int(x) donne la partie entière de x
❑ x.bit_length(), donne le nombre de bits de x
❑ Autres opérations pour int et float voir la documentation Internet Autres opérations sur les complexes:
❑ x.imag, partie imaginaire
❑ x.real, partie réelle
❑ x.conjugate(), etc