Académique Documents
Professionnel Documents
Culture Documents
LANGAGE C
Les variables en C
Il est à noter qu’une variable Python se diffère d’une variable C.
En C, les variables sont des données stockées en mémoire.
Exemple
Int A, B ;
B = 3 ;
A = B ;
B = 4 ;
Variable
Adresse Mémoire
A : 10214578
B : 10214582 3
Si A et B sont deux variable C alors l’instruction A-B engendre une copie de la valeur de B,
dans l’adresse de A, la même valeur est donc dupliquée et les deux sont stockées dans
adresses différents.
Maintenant la valeur stockée sans l’adresse de B est composée
Adresse Variable
10214578 B
10214582
Table de lien
10214578 97413210
Variable et valeur sont stockées dans des mémoires différents. Les variables (références) sont
stockées dans une zone mémoire appelée espace des noms et les valeurs sont stockées dans
l’espace des objets.
Si B est une variable Python, l’instruction B = 3 assigne l’objet 3 au référence B. autrement
dit, lors de l’interprétation de cette instruction, Python crée un lien entre la référence.
Une valeur appartient à une et une seule zone de l’espace des objets. Donc, si deux variables
ont la même valeur, alors elles pointent forcement une même adresse dans l’espace des objets.
Référence Objet
A « Cahier »
B « Cahier »
La valeur d’un objet immuable est inchangeable, elle reste constante tout au long de sa vie.
L’assignation d’une nouvelle valeur (objet) à une référence (variable) ne modifie pas la valeur
de l’objet qui lui est associée, mais force la référence (variable) à pointer un autre objet d’une
autre adresse.
Référence Objet
B 3
« Cahier »
Exemple
Référence Objet
a 2
A chaque littéral est alloué un et une seule adresse. Lors de l’assignation de valeur à une
variable, un lien est créé entre la référence et l’objet.
Référence Objet
a 2
b 4
Donc, lors de l’apparition d’un nouveau littéral, une nouvelle adresse lui est accordée.
Deux références d’une même valeur pointent forcement sur un même adresse
Référence Référence
a 2
b 4
c
Objet mutable
Un objet est dit mutable si on peut modifier sa valeur. Tel est le cas des listes, des tableaux,
des dictionnaires et des occurrences des classes utilisateurs. Les éléments ou attributs de
ces objets sont modifiables.
Exemple
U et V représentent la même liste
Le fait de modifier les éléments de v entraîne la modification de ceux de u
Il est à noter que l’assignement d’une nouvelle liste à l’un des deux références ne change pas
la liste référence par l’autre variable.
02 le flot d’entrée-sortie
La fonction imput()
Cette fonction affiche à l’écran son paramètre et génère en tant que chaîne de caractère la
valeur entrée au clavier
La fonction print()
Cette fonction prend en paramètre un objet str qui peut contenir des champs de remplacement.
Elle sert à l’affichage à l’écran de l’objet str.
Exemple
Bonjour
Si l’objet str contient au moins un champs de remplacement, les valeurs à afficher à la place
de ces champs sont passées en argument de la méthode format()
Le flot d’entrée/sortie
Exemple
Champ de remplacement
Un champ de remplacement est entourés des accolades {}.
Il sert à formater un objet passée en argument de format ()
Remarque
Tout ce qui n’est pas placé entre deux accolades est considéré comme littéral, et est copié tel
quel dans le résultat. Si les accolades font partie des littéraux, il faut les échapper en les
doublant {{…}}
Exemple 1.1
Un seul argument et un seul champ de remplacement
Lorsqu’on laisse vide les champs de remplacements, alors l’affichage se fait dans l’ordre
d’apparition des arguments
On est obligé de préciser le rang de l’argument à afficher dans les champs de remplacement
Si l’argument de format () est une liste d’assignations, alors on indique dans le champ de
remplacement la référence dont la valeur est à afficher
Remarque
Les arguments de format sont indépendants. Si l’argument de format a plusieurs parties (ie,
formé de plusieurs assignations) alors la variable d’une partie de la liste n’est pas visible dans
les autres parties de la liste d’assignations
Exemple 2.2
Incorrecte
L’accès aux éléments de la liste se fait au moyen de son rang d’apparition dans l’ensemble
des arguments de format () suivit de l’élément à récupérer
L’accès aux éléments d’un dictionnaire se fait au moyen de son rang d’apparition dans
l’ensemble des arguments de format () suivit de la clé de l’élément à récupérer
Champ de remplacement
Avec la conversion { !a} les caractères accentués du mot « élément sont convertie en leurs
code ASCII noté en Hexadécimal
La conversion { !r} indique à Python de ne pas traiter les caractères spéciaux et de les afficher
tels quels
Exemple 7.3 :
La conversion { !s} traite les constantes caractères et les caractères échappés avant
l’affichage, en faisant appel à la fonction str()
Alignement
Symbole Signification
< Alignement à gauche
> Alignement à droite
^ centrée
Interprétation
Interprétation
Interprétation
Cas 10 : formatage des valeurs décimales
Syntaxe
Exemple 10.1
Interprétation
Exemple 11.1
operateurs
// : Division entière
% : reste de la division
21 | 4
20 | 5 division entière //
1
Reste %
\ : ou exclusif Valeur binaire
&
<< : Décalage à gauche de n bit avec affichage binaire {:b} 0b code binaire
{} : Agencement de dictionnaire : obj, attribut
() : Agencement de n-uplet : fonction f( ….)
[] : Agencement liste :
Inversion de bit
@ : Produit de 2 matrices
| : Operateur ou
== : test d’égalité
Lambda : simplificateur d’expression
LES OPERATEURS
Introduction au langage python
01_ les opérateurs
Les opérateurs logiques
Opérateur Signification Exemple
Or Opérateur OU X or y
And Opérateur ET X and y
not négation Not x
L’opérateur logique not a une priorité faible par rapport aux autres opérateurs non logiques.
Donc, Python évalue les autres expressions avant d’évaluer la négation avec not.
De ce fait, l’expression suivante entraîne une erreur.
En effet, Python tente d’évaluer tout d’abord le résultat du test d’égalité, avant d’appliquer à
y la négation
Remarque 1
Les valeurs suivantes sont considérées comme false :
Les constantes None et False
L’entier 0, la valeur décimale 0.0 et le nombre complexe 0j
Décimal (0), fraction (0,1)
Les séquences et collection vide ‘’’’, (), [], {}, set (), range(0)
Exemple 1.1
Interprétation
Exemple 1.2 :
Interprétation
Exemple 1.3 :
Interprétation
Exemple 1.4 :
Interprétation
Exemple 1.5 :
Interprétation
Test d’appartenance
Opération Signification
In Test si l’objet appartient à une collection
Not in Test si l’objet n’appartient pas à une
collection
Exemple 2.1 :
Interprétation
Exemple 2.2 :
Interprétation
Exemple 2.3 :
Interprétation
Exemple 3.1
Exemple 3.2 :
Exemple 3.3 :
Exemple 3.4 :
Exemple 3.5 :
Exemple 3.6 :
OUI
Cond
Instructions
NON
L’instruction if…else
OUI
Cond
NON
Instructions 01
Instructions 02
Exemple :
L’instruction if…elif…else
Cond 1
Cond 1
Instructions 02
Cond 1
Donne un objet itérateur contenant la liste des couples (clés, valeur) du dictionnaire
1-Code : 125
2-Désignation : Cahier
3-Prix : 2000.0
2-Stylo : 700
3-Crayon : 1000
4-Gomme : 500
Car in chaîne
Oui
Non
Instructions
Elém in liste
Oui
Non
Elém in range
Oui
Non
Instructions
Key in dIco
Oui
Non
Si la condition est vérifiée, l’instruction ne sera pas évaluée, mais la boucle continue son
exécution
La boucle while
Modification
Instructions
cond
Oui
Non
Les fonctions
Une fonction a
toujours une
return
Exemple :
Interprétation :
Variable globale :
Une variable globale est accessible dans toute partie du programme qui se trouve au-dessus de
sa création. Une variable globale est accessible dans une fonction à condition que la variable
est créé avant l’appel à la fonction
Exemple :
Exemple 2 :
Remarque
On peut utiliser la valeur d’une variable globale à l’intérieur d’une fonction. Mais on ne peut
pas en modifier sa valeur. Afin qu’on a le contrôle total d’une variable globale à l’intérieur
d’une fonction on fait appel au mot clé global
Exemple :
Variable locale :
Une variable locale n’est accessible qu’à l’intérieur de la fonction qui porte sa déclaration
Si une fonction porte une variable locale ayant la même identification qu’une variable
globale, alors elle utilise la valeur de sa variable locale
Exemple :
Exemple :
Plusieurs retours
L’un des spécificités des fonctions Python est sa faculté à renvoyer en même temps une liste
de valeurs
Exemple :
20_Passage de paramètre
En python les paramètres sont passés par affectation. Donc paramètres formels sont donc des
copies des paramètres effectifs. Ainsi la modification des paramètres formels n’a aucun
impact sur ceux des paramètres effectifs
Exemple :