[Mise à jour le : 16/8/2022]
and | continue | finally | is | raise |
as | def | for | lambda | return |
assert | del | from | None | True |
async | elif | global | nonlocal | try |
await | else | if | not | while |
break | except | import | or | with |
class | False | in | pass | yield |
Pendant l'exécution d'un programme, les données qu'il manipule sont stockées en mémoire. Les variables permettent de manipuler ces données sans se préoccuper de leur position. Pour cela, il suffit de leur donner un nom (les déclarer).
position_x = 10 # variable de type entier nommée selon la convention inderscore case pi = 1.14159 # variable de type réel hello = "Hello world !" # variable de type chaîne de caractère position_x, pi, hello = 10,1.14159,"Hello world !" # C'est possible !
Le type d'une variable identifie la nature de son contenu : nombre entier, nombre décimal, texte, etc.. Ces différents types d'information peuvent être placés dans une variable.
nom_variable = 15 type(nom_variable) # renvoie <class 'int'> dans la console isinstance(15,int) # renvoie true type(4+5j) # renvoie <class 'complex'>
annee = "2019" # renvoie la chaîne de caractères '2019' dans la console annee = int(annee) # renvoie le nombre 2019 dans la console
annee = 2019 # renvoie le nombre 2019 dans la console annee = str(annee) # renvoie la chaîne de caractères '2019'
Le contenu d'une variable var1 peut être placé dans une variable var2.
var2 = var1
Python propose un moyen simple pour permuter deux variables (échanger leur valeur).
a = 5 b = 32 a,b = b,a # résultat a = 32, b = 5
addition | soustraction | multiplication | division euclidienne | division entière | reste division | puissance |
---|---|---|---|---|---|---|
+ | - | * | / | / / | % | * * |
var1 = 5 var2 = 1 var3 = var1 + var2 # résultat var3 = 6
var1 = 5.2 var2 = 1.4 var3 = var1 + var2 # résultat var3 = 6.6
conjonction (ET) | Disjonction (OU) | Négation (NON) |
---|---|---|
and | or | not |
Exemples
bool1, bool2 = True, False bool3, bool4 = 1, 0 bool5 = bool1 and bool2 # résultat : bool5 = False bool5 = bool1 or bool2 # résultat : bool6 = True bool7 = not(bool1) # résultat : bool7 = False bool8 = bool3 & bool4 # résultat : bool8 = 0
ET | OU | NON | OU EXCLUSIF | Décalage à gauche | Décalage à droite |
---|---|---|---|---|---|
& | | | ~ | ^ | « | » |
Exemples
# 0b précise que le nombre qui suit est exprimé en binaire var1 = 0b01010101 # résultat var1 = 85 en base 10 var2 = 0b10101010 # résultat var2 = 170 en base 10 var3 = var1 & var2 # résultat var3 = 0 en base 10, bin(var3) = 0b00000000 var4 = var1 | var2 # résultat var4 = 255 en base 10, bin(var4) = 0b11111111 var5 = ~var1 # résultat var5 = -86 en base 10 car l'ordinateur calcule en complément à 2 # or 2**n + complément à 2 de x = x ici = = 8 donc 256-86 = 170 = 0b10101010 = var2 var6 = var1 ^ bool2 # résultat bin(var6) = 0b11111111 var7 = var1 << 1 # résultat var7 = 170 (décalage à gauche de 1 => multiplication entière par 2) var8 = var2 >> 1 # résultat var8 = 85 (décalage à droite de 1 => division entière par 2)
Par défaut, les nombres entiers saisis ou affichés sont en base 10.
Exemples
bin(43) # renvoie '0b101011' bin(0xf4) # '0b11110100' hex(43) # '0x2b' hex(0b11110100) # '0xf4'
La portée d'une variable est la portion de code source où elle est accessible.
Exemple
# Espace local au programme valext = 5 # variable connue dans et hors de la fonction def func(valint): # ici valint <- valext, valint : variable connue seulement dans la fonction # Espace local à la fonction func valint = valint * 2 # valext est connue de func bien que sa déclaration soit à l'extérieure print("Dans la fonction func, valext = ", valext) # REMARQUES # valint = valext * 2 est possible, mais déconseillé par les bonnes pratiques de programmation # valext = valext * 2 est INTERDIT, car on ne peut pas modifier une variable extérieure à l'espace local print("Dans la fonction func, valint * 2 = ", valint," car valint <- valext lors de l'appel") return valint print("Avant l'appel de func, valext = ", valext) valext = func(valext) # valext est connue de func bien que sa déclaration soit à l'extérieure print("Après l'appel de func et l'opération valext = func(valext), valext = ", valext) print(valint) # valint n'est pas connue à l'extérieure de func
Résultat attendu
Avant l'appel de func, valext = 5
Dans la fonction func, valext = 5
Dans la fonction func, valint * 2 = 10
Après l'appel de func et l'opération valext = func(valext), valext = 10 car valint ← valext lors de l'appel
Une exception s'est produite : NameError
name 'valint' is not defined
Exemple
# Espace local au programme valext = 5 # variable connue dans et hors de la fonction def func(): # ici valint <- valext, valint : variable connue seulement dans la fonction # Espace local à la fonction func global valext # A éviter sauf cas particulier return valext * 2 print("Après l'appel de func, valext = ", func())
Il est fréquent qu'un utilisateur ait besoin de saisir des informations lors de l'exécution d'un programme. Les fonctions print() et input() permettent d'interragir avec l'utilisateur dans la console.
On affiche le contenu d'une ou plusieurs variables dans console avec la fonction print().
Exemple
nom = "Dupont" age = 35 print("Je suis", nom, "et j'ai", age, "ans.") # Retourne : Je suis Dupont et j'ai 35 ans. dans la console
Exemple
print("Ce texte s'affiche", end=" ") # Retourne : Ce texte s'affiche sur une seule ligne. print("sur une seule ligne.", end=" ")
On entre une donnée utilisateur dans la console avec la fonction input().
nom = input("Quel est votre nom ?") print("Bonjour",nom)