01/07/2025
Constantes
• Les valeurs fixes telles que les chiffres, les lettres et les chaînes
Variables, Expressions, et de caractères sont appelées "constantes" car leur valeur ne
change pas.
Instructions • Les constantes numériques sont par exemple : 123, 24.56 etc
• Les constantes de type chaîne de caractères utilisent des
guillemets simples (') ou doubles ("). >>> print(123)
123
>>> print(98.6)
98.6
>>> print('Hello world')
Hello world
Mots réservés Variables
• Une variable est un endroit nommé dans la mémoire où un programmeur
peut stocker des données et les récupérer plus tard en utilisant le nom de la
Vous ne pouvez pas utiliser de mots réservés comme noms de variable.
variables / identifiants.
False class return is finally • Les programmeurs peuvent choisir les noms des variables.
None if for lambda continue
True def from while nonlocal • Vous pouvez modifier le contenu d'une variable dans une déclaration
and del global not with ultérieure.
as elif try or yield
x = 12.2 x 12.2
assert else import pass
break except in raise y = 14
y 14
1
01/07/2025
Variables Règles de noms de variables
• Une variable est un endroit nommé dans la mémoire où un programmeur Python
peut stocker des données et les récupérer plus tard en utilisant le nom de la
variable. • Doit commencer par une lettre ou un trait de soulignement _
• Les programmeurs peuvent choisir les noms des variables. • Doit être composé de lettres, de chiffres et de caractères de
soulignement.
• Vous pouvez modifier le contenu d'une variable dans une déclaration
ultérieure. • Sensible à la casse
x = 12.2 x 12.2 100 Good: spam eggs spam23 _speed
y = 14 Bad: 23spam #sign var.12
x = 100 y 14 Different: spam Spam SPAM
Noms de variables mnémoniques
x1q3z9ocd = 35.0
x1q3z9afd = 12.50
x1q3p9afd = x1q3z9ocd * x1q3z9afd
• Puisque nous, les programmeurs, avons le choix de la façon dont
print(x1q3p9afd)
nous choisissons nos noms de variables, il y a un peu de
"meilleure pratique"...
• Nous nommons les variables pour nous aider à nous souvenir de
ce que nous avons l'intention d'y stocker ("mnémonique" = "aide-
mémoire"). Que fait ce bout
de code ?
2
01/07/2025
x1q3z9ocd = 35.0 a = 35.0 x1q3z9ocd = 35.0 a = 35.0
x1q3z9afd = 12.50 b = 12.50 x1q3z9afd = 12.50 b = 12.50
x1q3p9afd = x1q3z9ocd * x1q3z9afd c = a * b x1q3p9afd = x1q3z9ocd * x1q3z9afd c = a * b
print(x1q3p9afd) print(c) print(x1q3p9afd) print(c)
hours = 35.0
Que font ces bouts Que font ces bouts rate = 12.50
de code ? de code ? pay = hours * rate
print(pay)
Phrases ou lignes Déclarations d'affectation
• Nous attribuons une valeur à une variable en utilisant l'instruction
d'affectation (=).
x = 2 Initialisation • Une instruction d'affectation se compose d'une expression du côté
y = x + 2 Affectation avec expression droit et d'une variable pour stocker le résultat.
print( y ) Instruction d’ecriture
y = 3.9 * x * ( 1 - x )
Variable Operateur Constante Fonction
3
01/07/2025
Une variable est un Une variable est un emplacement
mémoire utilisé pour stocker une valeur.
emplacement mémoire y 0 x 0.6 La valeur stockée dans une variable peut y 0 0.936
utilisé pour stocker une être mise à jour en remplaçant l'ancienne
valeur.(0.6 par exemple) valeur (0) par une nouvelle valeur
(0,936).
y = 0 0.6 0.6 0.6 0.6
y = 3.9 * x * ( 1 - x ) y = 3.9 * x * ( 1 - x )
0.4 0.4
Le côté droit est une expression. Une fois
Le côté droit est une expression. l'expression évaluée, le résultat est placé
0.936 dans (assigné à) la variable du côté
0.936
Une fois l'expression évaluée, le
résultat est placé dans (assigné à) y. gauche (i.e., y).
Expressions numériques
Operator Operation
. + Addition
Expressions… • L'astérisque représente la multiplication
- Soustraction
* Multiplication
• L'exponentiation (augmentation à une / Division
puissance) n'a pas le même aspect
qu'en mathématiques. ** Puissace
% Reste
4
01/07/2025
Expressions numériques Ordre d'évaluation
>>> xx = 2 + 2 >>> jj = 23
>>> print( xx ) >>> kk = jj % 5 • Lorsque nous enchaînons des opérateurs, Python doit savoir lequel
Operator Operation faire en premier.
4 >>> print( kk )
+ Addition
>>> yy = 440 * 12 3 • C'est ce qu'on appelle la « precedence d’operateur ».
- Soustraction
>>> print( yy ) >>> print( 4 ** 3 )
5280 64 * Multiplication
• Quel opérateur "prime" sur les autres ?
23 5 / Division
>>> zz = yy / 1000
>>> print( zz ) 20 ** Puissance
4 x = 1 + 2 * 3 - 50 / 5 ** 2
5.28 % Reste
3
Règles de précédence des
1 + 2 ** 3 / 4 * 5
opérateurs >>> x = 1 + 2 ** 3 / 4 * 5
>>> print( x )
De la régle de priorité la plus élevée à la régle de priorité la plus basse: 1 + 8 / 4 * 5
11.0
• Les parenthèses sont toujours respectées >>>
1 + 2 * 5
• Exponentiation (augmentation à une puissance) Parentheses Parenthesis
Puissance Power
• Multiplication, division et reste Multiplication / Division Multiplication 1 + 10
• Addition et soustraction
Addition / Soustraction Addition
Gauche vers Droite Left to Right
• De gauche à droite 11
5
01/07/2025
Priorite des opérateurs Parenthesis
Power Que signifie "type" ?
Multiplication
Addition • En Python, les variables, les littéraux
• Rappelez-vous les règles de precedance Left to Right et les constantes ont un "type".
>>> ddd = 1 + 4
• Lorsque vous écrivez du code, utilisez des parenthèses • Python sait faire la différence entre un >>> print( ddd )
5
nombre entier et une chaîne de >>> eee = 'hello ' + 'there'
• Lorsque vous écrivez du code, gardez les expressions caractères. >>> print( eee )
mathématiques suffisamment simples pour qu'elles soient faciles à hello there
comprendre. • Par exemple, "+" signifie "addition" si
le resultat est un nombre et
• Décomposer de longues séries d'opérations mathématiques pour "concaténer" si le resultat est une
les rendre plus claires. chaîne de caractères. concatenate = coller
Questions de type Plusieurs types de nombres
• Python sait quel est le "type" >>> eee = 'hello ' + 'there'
>>> eee = eee + 1
de chaque chose. >>> xx = 1
Traceback (most recent call • Les chiffres sont de deux types
last): File "<stdin>", line >>> type (xx)
• Certaines opérations sont principaux
1, in <module>TypeError: <class 'int'>
interdites Can't convert 'int' object to >>> temp = 98.6
• - Les entiers sont des nombres >>> type(temp)
str implicitly
entiers:
• Vous ne pouvez pas "ajouter <class'float'>
1" à une chaîne de caractères >>> type( eee ) -14, -2, 0, 1, 100, 401233 >>> type(1)
<class'str'> <class 'int'>
>>> type( 'hello‘ ) - Les nombres à virgule flottante ont >>> type(1.0)
• Nous pouvons demander à des parties décimales : -2.5 , 0.0,
<class'str'> <class'float'>
Python de quel type est un >>> type( 1 ) 98.6, 14.0
element en utilisant la fonction >>>
<class'int'>
type() >>>
6
01/07/2025
Conversions de type Division des nombres entiers
>>> print( float(99) +
100 )
• Lorsque vous mettez un 199.0 >>> print(10 / 2)
5.0
entier et un point flottant dans >>> i = 42
une expression, l'entier est >>> type(i) La division d'un nombre entier produit un >>> print(9 / 2)
résultat en virgule flottante 4.5
implicitement converti en <class'int'> >>> print(99 / 100)
flottant. >>> f = float( i ) 0.99
>>> print(f) >>> print(10.0 / 2.0)
• Vous pouvez contrôler cela 42.0 5.0
>>> print(99.0 / 100.0)
avec les fonctions intégrées >>> type(f) 0.99
int() et float(). <class'float'>
>>>
Conversions de >>> sval = '123'
>>> type( sval )
chaînes de
<class 'str'>
>>> print( sval + 1) User Input
Traceback (most recent call last):
caractères
File "<stdin>", line 1, in <module>
TypeError: Can't convert 'int' • Nous pouvons demander
à Python de faire une
• Vous pouvez également utiliser object to str implicitly
pause et de lire les
nam = input(' Qui êtes-vous ? ')
print(‘Bienvenue', nam)
int() et float() pour convertir les >>> ival = int( sval )
>>> type( ival ) données de l'utilisateur en
chaînes de caractères en
<class 'int'> utilisant la fonction input()
nombres entiers. >>> print( ival + 1 )
• Vous obtiendrez une erreur si
124
>>> nsv = 'hello bob' • La fonction input() renvoie Qui êtes-vous ?
>>> niv = int( nsv ) une chaîne de caractères Chuck
la chaîne ne contient pas de Traceback (most recent call last):
caractères numériques.
Bienvenue Chuck
File "<stdin>", line 1, in <module>
ValueError: invalid literal for
int() with base 10: 'x'
7
01/07/2025
Convertir les entrees Commentaires en Python
• Si nous voulons lire un
nombre introduit par
• Tout ce qui suit un # est ignoré par Python.
l'utilisateur, nous devons le
convertir d'une chaîne de inp = input( 'Europe floor?‘ ) • Pourquoi commenter ?
caractères en un nombre en usf = int( inp ) + 1
print('US floor', usf)
utilisant une fonction de - Décrire ce qui va se passer dans une séquence de code
conversion de type
- Documenter qui a écrit le code ou d'autres informations auxiliaires
• Plus tard, nous traiterons Europe floor? 0
- Désactiver une ligne de code - peut-être temporairement
les erreurs de données US floor 1
d'entrée
# Get the name of the file and open it
name = input('Enter file:')
handle = open(name, 'r') incrementation
# Count word frequency
counts = dict() • j=0
for line in handle:
words = [Link]()
for word in words: • j=j+1
counts[word] = [Link](word,0) + 1
# Find the most common word • j = j + 0.5
bigcount = None
bigword = None
for word,count in [Link]():
if bigcount is None or count > bigcount:
bigword = word
bigcount = count
• p=1
# All done • p=p*2
print(bigword, bigcount)
8
01/07/2025
Sommaire Exercise
• Type • Division des nombres
entiers
• Mots réservés Écrivez un programme qui demande à
• Conversion entre les types l'utilisateur les heures et le taux horaire pour
• Variables calculer le salaire brut.
(mnémotechnique) • La fonction input
• Opérateurs • Commentaires (#)
• Précédance des opérateurs • incrementation