Les types de base en Python


Dans un algorithme, des variables sont utilisées pour stocker des valeurs. Les variables de base sont celles permettant de stocker :

  • des nombres entiers ;
  • des nombres réels ;
  • des caractères ou des chaînes de caractères ;
  • des booléens.

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.

Typage automatique en Python

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 :

In [ ]:
A = 5
print(type(A))
N = 3.14
print(type(N))
t = "bonjour"
print(type(t))
b = (A>4)
print(type(b))

Le type 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 %
In [ ]:
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
In [ ]:
a = 4
b = 10
c = 2*b + a
d = b**3 # puissance 3
print(a, b, c, d)
In [ ]:
q = 14 // 5 # division entière
r = 14 % 5 # reste entier
print(q)
print(r)
print("14 = ", q, "*5 +", r)

Le type 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 . :

In [ ]:
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.

In [ ]:
c = 14 / 3
print(c) # de type float

Le type 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).

In [ ]:
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 :

In [ ]:
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

Concaténation de chaînes

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.

In [ ]:
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

Longueur d'une chaîne de caractères

La fonction len permet de renvoyer le nombre caractères d'une chaîne de carcatères placée en argument.

In [ ]:
nom = "Dupont"
print(len(nom))

nom = "Dupont "
print(len(nom)) # les espaces sont aussi comptabilisés !

Indexage des caractères

Un texte ou une chaine de caractères est une suite de caractères dont chacun est numéroté. Voici un exemple :

Index_chaines_de_caracatères

  • Les indices commencent à 0 !
  • Le premier caractère "J" est celui d'indice 0. On dit aussi que "J" est d'index 0.
  • Le caractère "i" est celui d'indice 3 (c'est le 4ème caractère)

On peut facilement extraire le caractère souhaité en précisant sont index entre crochets [] :

In [ ]:
ch = "Juliette"
print(ch[0]) 
print(ch[3])
print(ch[7])
In [ ]:
ch = "Juliette"
a = ch[0]
b = ch[7]
mot = a + b
print(mot)

Extraire un groupe de caractères (slicing)

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'.

In [ ]:
nom = "Dupont"
nom[0:4] # extrait les 4 premiers caractères
In [ ]:
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.

In [ ]:
prenom = "Stéphane"
prenom[:3] # extrait les 3 premiers caractères
In [ ]:
prenom[4:] # extrait les 4 derniers caractères

Séquences d'échappement

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.

  • La séquence d'échappement \n : nouvelle ligne
In [ ]:
chaine  = "Première ligne \nDeuxième ligne"
print(chaine)
  • La séquence d'échappement \' : apostrophe
In [ ]:
chaine = 'Aujourd'hui'
print(chaine)
In [ ]:
chaine = 'Aujourd\'hui' # permet d'écrire un apostrophe dans une chaine définie par des apostrophes
print(chaine)
  • la séquence d'échappement \t : tabulation horizontale
In [ ]:
chaine = "Dupont Pierre \t 0612345678" # permet d'ajouter une tabulation horizontale
print(chaine)

Le type 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.

In [ ]:
choix = True
print(type(choix))

Les opérateurs de comparaison

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
In [ ]:
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)

Les opérateurs logiques

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.

In [ ]:
b = 10
a = (b == 10)
print(a)
print(not(a)) # renvoie la négation du booléen 'a'
In [ ]:
note = 13.0
mention_ab = note >= 12.0 and note < 14.0 # renvoie Vrai uniquement si les deux conditions sont vraies
print(mention_ab) 
In [ ]:
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 Licence Creative Commons