Pourquoi avons-nous besoin des types de variables ?
Vous avez exploré rapidement différents types de variables lors du précédent chapitre, mais il y a encore bien d’autres choses à savoir sur le sujet !
Les types rencontrés jusqu’à présent sont surnommés les types primitifs. Ils existent de base en Python – un peu comme les atomes. Ce sont les types de variables les plus simples ; ils représentent la fondation de toutes les opérations et tous les programmes informatiques. Vous pouvez néanmoins les combiner pour créer des types de variables bien plus complexes, comme vous pourrez le voir dans les prochaines parties de ce cours. Pour le moment, vous allez explorer un peu plus en profondeur les types numériques et les chaînes de caractères. Let’s go !
Les variables numériques
Les variables numériques peuvent être décomposées en deux types bien distincts :
les entiers, qui correspondent à l’ensemble des nombres entiers positifs ou négatifs (1, 2, 0, 123, -3, etc.) ;
les nombres décimaux, qui, en plus des entiers, incluent l’ensemble des nombres décimaux (2,50 ; 5,99 ; -1,20 ; etc.).
Commencez avec celui avec lequel vous êtes déjà familier : les entiers. Les entiers sont déclarés comme n’importe quelle variable, en associant une valeur à un nom de variable.
compte = 10
Vous avez ici la valeur 10 associée à la variable compte
. 10 étant un entier, compte
est automatiquement de type entier (int
).
Pour les nombres décimaux
, Python utilise le type float
. Vous pouvez le définir de la même façon que les entiers, en ajoutant simplement explicitement la virgule :
longueur = 1876.79
largeur = 870.0
Tant que la valeur associée est un nombre décimal, Python va automatiquement considérer la variable comme un type float
. Ceci est vrai, même si le chiffre après la virgule est un 0 – comme ci-dessus avec la variable largeur.
Mixez plusieurs variables numériques
Il est important de garder en mémoire la façon dont les différents types numériques peuvent être mixés ensemble et quelles sont les potentielles conséquences. Si vous mixez différents types, le plus complexe sera forcément celui conservé pour le résultat final. Par exemple, un int
peut être float
– comme vu ci-dessus avec la variable largeur, mais le contraire n’est pas forcément vrai ! Le float
est donc le type le plus complexe : si vous mixez un int
avec un float
, le résultat sera toujours un float
, peu importent l’opération effectuée et le résultat.
a = 7.5
b = 3
c = a/b
c
# cela va afficher 2.5, ce qui est bien un float
Si le résultat d’une opération entre deux entiers est censé être un nombre décimal, Python va automatiquement le convertir en float. De plus, la division (même si le résultat est censé être entier) renverra forcément un float également :
a = 10
b = 5
c = a/b
print(c)
# c est un float
Cependant, vous pouvez forcer la conversion d’une variable dans un type bien défini. Ceci est appelé du typecasting, car en faisant ainsi, vous remodelez (cast en anglais) le type d’une variable. Pour ce faire, vous aurez besoin des fonctions correspondantes :
int()
: pour les entiers ;float()
: pour les décimaux.
a = 14.0
# a est un float
a = int(a)
print(a)
# a est à présent un entier : il affiche 14 et non plus 14.0
Essayez par vous-même :
Essayez de transformer le type de notre variable dans l'exercice suivant.
Vous pourrez trouver la correction ici même.
Les chaînes de caractères
Vous allez à présent explorer un peu plus les chaînes de caractères, qui permettent de stocker du texte dans vos variables. Tout d’abord, un peu de sémantique : nous appelons cela des chaînes de caractères, car Python ne considère pas ces variables comme du texte en tant que tel, mais comme un ensemble de caractères mis bout à bout. Voilà comment vous pouvez définir des chaînes de caractères en Python :
ville = "Paris"
film = 'intouchables'
stringVide = ""
Les chaînes de caractères sont de type string
en Python.
Assembler plusieurs strings
ensemble est une des opérations les plus courantes que vous aurez à réaliser lorsque vous manipulerez des strings
: on appelle cette opération une concaténation. Voyez comment faire cela en Python :
villeFavoriteUne = "Reims"
villeFavoriteDeux = "Strasbourg"
favoris = villeFavoriteUne + villeFavoriteDeux
print(favoris) # => "ReimsStrasbourg"
Notez qu’il n’y a pas d’espace entre les deux. Faites en sorte de rendre votre code plus lisible... en concaténant vos variables avec d’autres chaînes de caractères :
villeFavoriteUne = "Reims"
villeFavoriteDeux = "Strasbourg"
favoris = "Mes villes favorites sont " + villeFavoriteUne + " et " + villeFavoriteDeux
print(favoris) # -> "Mes villes favorites sont Reims et Strasbourg"
C’est bien mieux comme cela, n’est-ce pas ? Vous ne pouvez cependant pas concaténer d’autres types avec des strings – comme des variables numériques : cela renverrait une erreur. Pour remédier à cela, vous aurez besoin de caster votre variable numérique en string, via la fonction str()
:
ville = "Sydney"
nombreVoyages = 5
histoire = "J'ai déjà été à " + ville + " " + str(nombreVoyages) + " fois"
print(histoire) # => "J'ai déjà été à Syndey 5 fois"
Dernier point : En python il est possible de définir une chaine de caractères avec des guillemets simples ou doubles. Cela revient au même :
txt = "Hello World"
# est équivalent à :
txt = 'Hello World'
Toutefois, pour la bonne compréhension de votre code, il peut être est préférable de n'appliquer qu'une seule méthode et de ne pas mélanger simple ou double guillemets dans votre code.
En résumé
Dans ce chapitre, vous avez rencontré trois types primitifs de variables, indispensables à tous programmes/analyses :
entiers (int) ;
décimaux (float) ;
chaînes de caractères (string).
Vous avez également vu comment manipuler ces différents types :
vous pouvez réaliser des opérations numériques sur des variables numériques de types différents ;
vous pouvez caster des variables pour forcer la transformation du type d’une variable en un autre spécifique, en fonction de vos besoins ;
des chaînes de caractères peuvent être assemblées ensemble : c’est la concaténation.
Dans le prochain chapitre, vous verrez comment écrire et utiliser des fonctions. Allons-y !