Chapitre 2 Les Variables
Chapitre 2 Les Variables
Chapitre 2 Les Variables
March 7, 2021
3 <class 'int'>
1.2 <class 'float'>
0 <class 'int'>
Dans l’exemple précédant, il s’agit de créer une variable nommée x ayant comme valeur 3. Cette
opération s’appelle une instruction d’affection. Elle affecte la valeur 3 à la variable x.
1
Règles et conventions
Règles
Lorsque nous choisissons des noms de variables, nous devons garder à l’esprit deux choses: un
ensemble de règles et certaines conventions.
Les règles qui couvrent les noms de variables, d’une manière générale les identificateurs sont: 1.
Les noms de variable ne peuvent contenir que des lettres, des chiffres et des traits de soulignement
(underscores). Ils ne contiennent pas des espaces ou des caractères spéciaux. 2. Les noms de
variable doivent commencer par des lettres ou des traits de soulignement. Ces derniers sont utilisés
généralement que dans certaines situations. 3. Les noms de variables ne doivent pas coincider avec
des mots réservés.
Lorsque l’une de ces règles est violée, une erreur de syntaxe est générée.
Attention :
• On affecte des valeurs aux variables et non pas des variables aux valeurs.
• On doit attribuer une valeur à la variable avant de l’utiliser.
Exemples
[2]: mavariable1=5
print(mavariable1)
[3]: for=10
[4]: mavariable=5
[5]: 3=4
[6]: x='bonjour'
y=x+1
print(x,y)
2
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-6-dffd00f50d5f> in <module>
1 x='bonjour'
----> 2 y=x+1
3 print(x,y)
Par ailleurs, il est possible de définir une variable sans valeur. C’est tout à fait différent qu’une
variable non initialisée.
Exemples
[7]: maVariable=None
print(maVariable)
print(maVariableNonDeclare)
None
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-7-1e19235e02c1> in <module>
1 maVariable=None
2 print(maVariable)
----> 3 print(maVariableNonDeclare)
Comme vous voyez dans l’exemple précédent, une erreur de type NameError est produite. Cette
erreur est générée suite à la variable maVariableNonDeclare qui est non initialisée. Par contre, il
n’y a pas de problème relatif la variable maVariable.
Conventions
La violation des conventions n’engendre aucune erreur. La raison des convention est d’avoir un
code lisible ou bien auto-documenté. Cela veut dire que le nom d’une variable doit être significatif.
Il doit informer du contenu de la variable.
Exemple
[8]: a=5
tt=20
age=40
nom="Salem"
Dans l’exemple précédant, il est claire que 40 vaut l’age et Salem vaut un nom. Par contre, pour
20 et 5 on ne peut pas deviner de quoi s’agit-il.
3
2 Les différents types de variables.
Le type d’une variable est une notion très important. Premièrement, la comparaison de variables de
types différents est, généralement, impossible. Deuxièmement, il peut y avoir certaines opérations
qu’on ne peut pas faire que sur certains types de données. Par exemple, il est possible de multiplier
des nombres entiers, par contre, il est impossible de multiplier des chaînes de caractères. D’une
manière générale, les opérations n’ont pas de sens que dans le contexte de certains types de données.
Troisièmement, le type de variable est util pour l’allocation de la mémoire.
Les types de base reconnus dans la plupart des langages de programmation sont :
• Entiers ou nombres entiers.
• Des nombres réels ou des nombres qui peuvent avoir des décimales.
• Des caractères, comme des lettres et des chiffres individuels.
• Les chaînes, qui sont des collections de caractères dans une ligne.
• Les valeurs booléennes, qui tiennent simplement vrai ou faux.
Par ailleurs, les variables peuvent contenir presque tous les types d’informations qu’on peut imag-
iner.
4
print('varBool',type(varBool))
#Le type complexe est composé de deux parties
#réele et imaginaire caractérisée par j
varComplexe=2+3j
print('varComplexe',type(varComplexe))
5
de type ValueError en cas d’échec. Par contre, la fonction bool() renvoie, partiquement toujour,
un résultat True ou False.
Exemples
[11]: #Exemple1
varStrInt="5"
varStrIntToInt=int(varStrInt)
print("le type de varStrIntToInt est :",type(varStrIntToInt))
varStrFloat="5.0"
varStrFloatToFloat=float(varStrFloat)
print("le type de varStrFloatToFloat est :",type(varStrFloatToFloat))
varStrBool="True"
varStrBoolToBool=bool(varStrBool)
print("le type de varStrBoolToBool est :",type(varStrBoolToBool))
varStrComplex="2+3j"
varStrComplexToComplex=complex(varStrComplex)
print("le type de varStrComplexToComplex est :",type(varStrComplexToComplex))
[12]: #Exemple2
varStrInt='-6.6'
varStrIntToInt=int(varStrInt)
print("le type de varStrIntToInt est :",type(varStrIntToInt))
varStrInt
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-12-be40f8416d0c> in <module>
1 #Exemple2
2 varStrInt='-6.6'
----> 3 varStrIntToInt=int(varStrInt)
4 print("le type de varStrIntToInt est :",type(varStrIntToInt))
5 varStrInt
[13]: #Exemple3
varStrBool='0'
varStrBoolToBool=bool(varStrBool)
print("le type de varStrBoolToBool est :",type(varStrBoolToBool))
print(varStrBoolToBool)
6
True
À l’intérieur d’une chaîne, le caractère antislash (\) permet de donner une signification spéciale à
certaines séquences de caractères (voir Tab1).
7
Tab1 : Séquences spéciales
Exemples
[14]: maVar1=5
maVar2=6
print("La somme de",maVar1,"et",maVar2,"\nest égale",maVar1+maVar2)
La somme de 5 et 6
est égale 11
3.2 L’affectation
La syntaxe générale de l’instruction d’affectation est : V = expression où v est une variable.
L’opérateur d’affectation en Python est “=”.
Exemple
[15]: x=1+2
print(x)
3
Le déroulement de l’exécution de l’exemple précédant est dans l’ordre le suivant :
1. Evaluation de l’expression 1+2 (qui vaut 3)
2. affectation du résultat (3) à la variable x
Outre, Python permet l’affectation multiple.
Exemple :
8
[16]: a,b,c=5,"a","2.3"
print('contenu de a',a)
print('contenu de b',b)
print('contenu de c',c)
contenu de a 5
contenu de b a
contenu de c 2.3
4 La fonction input()
La fonction input() admet entre les parenthèses, comme paramètre, une chaine de caractères. Cette
dernière invitera l’utilisateur à saisir une valeur. Le programme attend alors que l’utilisateur tape
quelque chose dans la console et appuie sur Entrée. Le flux de données venant du clavier sera affecter
à la variable qui est à gauche du symbole d’affectation. Par ailleurs, tout ce qui est saisi par le
clavier est considére comme une chaine de caractère. De plus, Python attribue dynamiquement
les types aux variables. Nous pouvons conclure que notre variable aura le type str. Ainsi, il faut
réfléchir à une conversion de type en cas où la valeur demandée est de type autre que chaine de
caractère.
Exemple
[17]: varNom=input("Saisir votre nom : ")
print(type(varNom))
varAge=input("Saisir votre Age : ")
print(type(varAge))
print("Votre années de naissance est :", 2020-varAge)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
9
<ipython-input-17-198382678565> in <module>
3 varAge=input("Saisir votre Age : ")
4 print(type(varAge))
----> 5 print("Votre années de naissance est :", 2020-varAge)
10