Dans un algorithme, des variables sont utilisées pour stocker des valeurs. Les variables de base sont celles permettant de stocker :
Ces variables sont bien sûr de nature différente. Dans un langage de programmation, comme Python, on parle du type d'une variable. Les types et valeurs de base en Python sont donc :
int
: nombres entiers ;float
: nombres réels (à virgule flottante) ;str
: caractères et chaînes de caractères ;bool
: booléens.Une des particularités du langage Python vient du fait que le typage des variables est automatique : cela signifie qu’il n’y a pas besoin de définir le type d'une variable, cela se fait automatiquement selon la façon dont on déclare la variable.
C'est ce qui fait de Python (entre autre) un langage simple à apprendre. En revanche, cela a pour inconvénient de toujours avoir en tête la nature des variables manipulées, pour éviter par exemple d'additionner un nombre avec une chaîne de caractères.
Pour connaître le type d'une variable Python, il suffit d'utiliser la fonction type
qui renvoie le type de la variable passée en paramètre. Par exemple :
A = 5
print(type(A))
N = 3.14
print(type(N))
t = "bonjour"
print(type(t))
b = (A>4)
print(type(b))
int
¶Les variables de type int
représentent des entiers (naturels et relatifs). Les calculs mettant en jeu ce type de variables utilisent les opérateurs classiques.
Opération | Opérateur Python |
---|---|
Addition | + |
Soustraction | - |
Multiplication | * |
Division | / |
Puissance | ** |
Division entière | // |
Reste entier | % |
age = 16
print(age)
print(type(age))
age = age + 1
print(age)
age = age - 3
print(age)
age = age * 2
print(age)
age = age / 5
print(age) # remarquez que la variable 'age' est désormais de type float
a = 4
b = 10
c = 2*b + a
d = b**3 # puissance 3
print(a, b, c, d)
q = 14 // 5 # division entière
r = 14 % 5 # reste entier
print(q)
print(r)
print("14 = ", q, "*5 +", r)
float
¶Les nombres à virgule flottante sont des nombres décimaux. On les appelle également, pour simplier, les nombres flottants.
ATTENTION : la virgule est codée par un point .
, c'est la notation anglaise des nombres décimaux.
Pour déclarer un nombre flottant, il suffit d'utiliser le .
:
b = 17.0
print(b)
print(type(b))
c = 14.0 / 3.0
print(c)
c = 14.0 // 3.0 # on peut aussi faire la division entière de deux flottants
print(c)
Le quotient, avec l'opérateur /
, de deux nombres entiers (de type int
) renvoie un nombre de type float
.
c = 14 / 3
print(c) # de type float
str
¶Les chaînes de caractères sont énorméments utilisées en programmation. On dit string en anglais, d'où l'appelation str
.
C'est grâce à elles que l'on peut manipuler des mots, des phrases, des textes, des fichiers, etc.
Pour déclarer une chaîne de caractères, il suffit d'utiliser les guillemets (ou apostrophes).
nom ="Dupont"
print(nom)
print(type(nom))
prenom = 'Pierre' # on peut aussi utiliser les apostrophes (quotes)
print(prenom)
print(type(prenom))
print(nom, prenom)
Remarque : on peut aussi utiliser des triples guillemets si on souhaite écrire une chaîne de caractères sur plusieurs lignes :
chaine = '''on peut aussi utiliser des triples guillemets
si on souhaite écrire une chaîne de caractères
sur plusieurs lignes'''
print(chaine) # vous remarquerez que l'affichage se fait aussi sur plusieurs lignes
La concaténation désigne la mise bout à bout de plusieurs chaînes de caractères. L'opérateur +
permet de concaténer deux chaînes de caractères.
nom = "Dupont"
prenom = "Pierre"
chaine = nom + prenom
print(chaine)
chaine = prenom + nom
print(chaine)
chaine = prenom + " " + nom
print(chaine)
chaine = chaine + ' a 18 ans '
print(chaine)
chaine = chaine + 15 # on ne peut pas concaténer une chaine est un nombre de type int ou float, une erreur est renvoyée
La fonction len
permet de renvoyer le nombre caractères d'une chaîne de carcatères placée en argument.
nom = "Dupont"
print(len(nom))
nom = "Dupont "
print(len(nom)) # les espaces sont aussi comptabilisés !
Un texte ou une chaine de caractères est une suite de caractères dont chacun est numéroté. Voici un exemple :
On peut facilement extraire le caractère souhaité en précisant sont index entre crochets []
:
ch = "Juliette"
print(ch[0])
print(ch[3])
print(ch[7])
ch = "Juliette"
a = ch[0]
b = ch[7]
mot = a + b
print(mot)
On peut également extraire un groupe de caractères d'une chaîne, on parle de slicing.
chaine[debut : fin]
permet de récupérer les caractères d'indices compris entre 'debut' et 'fin - 1'.
nom = "Dupont"
nom[0:4] # extrait les 4 premiers caractères
nom = "Dupont"
nom[2:5] # extrait les caractères d'index 2, 3 et 4
On peut également récupérer un certain nombre de caractères en partant du début ou de la fin.
prenom = "Stéphane"
prenom[:3] # extrait les 3 premiers caractères
prenom[4:] # extrait les 4 derniers caractères
Les séquences d'échappement sont des séquences de caractères jouant un rôle particulier dans une chaîne de caractères.
Il en existe beaucoup, nous n'en citerons ici que trois.
\n
: nouvelle lignechaine = "Première ligne \nDeuxième ligne"
print(chaine)
\'
: apostrophechaine = 'Aujourd'hui'
print(chaine)
chaine = 'Aujourd\'hui' # permet d'écrire un apostrophe dans une chaine définie par des apostrophes
print(chaine)
\t
: tabulation horizontalechaine = "Dupont Pierre \t 0612345678" # permet d'ajouter une tabulation horizontale
print(chaine)
bool
¶Une variable booléenne ne peut prendre que deux valeurs distinctes. En python, ces deux valeurs sont notées True
et False
(avec un T et un F majuscules).
Ces booléens (boolean en anglais) sont destinés à représenter les valeurs de vérité de la logique et l'algèbre booléenne, ce que vous étudierez dans la séqunce 2.
Le type de données booléen est principalement associé à des états conditionnels.
choix = True
print(type(choix))
Voici les opérateurs de comparaisons classiques :
Opérateur | Signification |
---|---|
< | strictement inférieur |
<= | inférieur ou égal |
> | strictement supérieur |
>= | supérieur ou égal |
== | égal |
!= | différent |
b = 10
print(b > 8)
print(b == 5) # double égal pour tester l'égalité de deux expressions
print(b != 10)
print(0 <= b < 10)
print(5 <= b <= 10)
Ce sont les opérateurs permettant d'effectuer des opérations sur les booléens.
Avec les opérateurs not
, or
et and
on peut effectuer toutes les opérations logiques que l'on souhaite. Vous étudierez cela au cours de la séquence 2.
Voici quelques exemples en Python.
b = 10
a = (b == 10)
print(a)
print(not(a)) # renvoie la négation du booléen 'a'
note = 13.0
mention_ab = note >= 12.0 and note < 14.0 # renvoie Vrai uniquement si les deux conditions sont vraies
print(mention_ab)
note = 13.0
booleen = note > 10 or note > 15.0 # il suffit que l'une ou l'autre des conditions soit vraie pour renvoyer Vrai
print(booleen)
Sources :
Germain BECKER & Sébastien POINT, Lycée Mounier, ANGERS