Types de base en python#

Les variables en python peuvent contenir différents types de nombres ainsi que d’autres éléments tels que du texte, des images et des objets plus complexes.

Nous pouvons également afficher le type d’une variable.

Voir aussi

Ceci est un nombre entier :

a = 5
type(a)
int

Et ceci est une variable à virgule flottante :

b = 3.5
type(b)
float

Lorsqu’on combine des variables de différents types, Python décide quel type la nouvelle variable devrait avoir

c = a + b
type(c)
float

Chaînes de caractères#

Les variables peuvent également contenir du texte. On les appelle alors des “chaînes de caractères” (ou “strings” en anglais), et on les définit en entourant la valeur soit de guillemets simples ' ' soit de guillemets doubles " " :

first_name = "Robert"
last_name = 'Haase'

Les chaînes de caractères peuvent être concaténées en utilisant l’opérateur + :

first_name + last_name
'RobertHaase'
first_name + " " + last_name
'Robert Haase'

Si nous voulons avoir des guillemets simples et doubles dans notre texte, nous pouvons les insérer comme ceci :

text = "She said 'Hi'."
print(text)
She said 'Hi'.
text = 'He said "How are you?".'
print(text)
He said "How are you?".

Combinaison de chaînes de caractères et de nombres#

Lorsqu’on combine des variables de types numériques et de types chaînes de caractères, des erreurs peuvent apparaître :

first_name + a
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Input In [12], in <cell line: 1>()
----> 1 first_name + a

TypeError: can only concatenate str (not "int") to str

On peut éviter ces erreurs en convertissant la variable numérique en type chaîne de caractères en utilisant la fonction str() :

first_name + str(a)
'Robert5'

Vous pouvez également convertir des chaînes de caractères en nombres si elles contiennent des chiffres :

d = "5"
int(d)
5
a + int(d)
10

Si la chaîne de caractères ne contient pas un nombre, un message d’erreur peut apparaître :

int("hello")
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Input In [17], in <cell line: 1>()
----> 1 int("hello")

ValueError: invalid literal for int() with base 10: 'hello'
int("")
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Input In [18], in <cell line: 1>()
----> 1 int("")

ValueError: invalid literal for int() with base 10: ''
int("5")
5

f-strings#

Au lieu de devoir convertir manuellement les nombres en chaînes de caractères pour les assembler avec d’autres chaînes, nous pouvons utiliser les f-strings qui sont définies en ajoutant simplement un f avant le guillemet d’ouverture d’une chaîne normale :

f"This is an f-string"
'This is an f-string'

Nous pouvons maintenant ajouter directement des variables dans ce texte en les entourant d’accolades :

f"This is an f-string. a's value is {a}. Doubling the value of a gives {2*a}."
"This is an f-string. a's value is 5. Doubling the value of a gives 10."

Comme vous pouvez le voir ci-dessus, les f-strings peuvent contenir autant de variables que nécessaire et les accolades peuvent contenir plus qu’une simple variable. Nous pouvons même exécuter des fonctions à l’intérieur :

f"The first_name variable contains {first_name.lower().count('r')} r letters."
'The first_name variable contains 2 r letters.'

Exercice#

Le nom et la date de naissance de Marie Curie sont stockés dans des variables. Concaténez-les en une seule variable de type chaîne de caractères et affichez-la. La sortie devrait être “Marie Curie, * 7 November 1867”

first_name = "Marie"
last_name = "Curie"

birthday_day = 7
birthday_month = "November"
birthday_year = 1867