Avec Python, tous les types natifs de base peuvent être créés directement
à partir de leur classe correspondante.
Il y a la classe str
pour les chaînes de caractères, int pour les nombres entiers, float pour les nombres décimaux
et bool pour les booléens. Ce sont des termes que vous retrouverez
très souvent en anglais dans la documentation
officielle de Python.
Le nom des classes est cependant
raccourci. Les mots entiers en anglais
sont string pour chaîne de caractères, integer pour les nombres entiers, float
pour les nombres décimaux et boolean pour les booléens.
Tous les objets
correspondant aux types natifs de base pourraient ainsi être créés avec ces classes.
Cependant, ce n'est pas très utile,
car Python est suffisamment intelligent
pour déterminer le type des objets,
grâce par exemple aux guillemets pour
les chaînes de caractères, ou au point
de la décimale pour les nombres décimaux.
Quand on crée ces objets, on peut donc
directement les écrire comme ceci.
>>>"bonjour"'bonjour'>>>55>>>10.710.7>>>TrueTrue
Ces classes sont également appelées des fonctions de conversion. Bien qu'elles puissent ressembler à des fonctions,
ce sont dans les faits des classes.
Mais là où elles ont un vrai intérêt,
c'est qu'elles peuvent être utilisées pour convertir des objets d'un type à un autre.
Par exemple, vous pouvez convertir un nombre entier en chaîne de caractères
en utilisant la classe str.
Le résultat de l'utilisation de cette classe
avec le nombre entier 5 nous donnera la chaîne de caractères "5".
>>>str(5)'5'
On a donc effectué une conversion d'un
nombre entier en chaîne de caractères.
Si on veut être très précis, on ne fait pas vraiment une conversion. Concrètement, on crée un nouvel objet de type chaîne de caractères à partir du nombre entier 5. Mais dans les faits, c'est un peu comme si on convertissait un objet d'un type à un autre.
C'est pour ça que vous retrouverez souvent ces classes sous le nom de fonctions de conversion.
À l'inverse, la classe int peut être utilisée pour convertir une chaîne de caractères qui contient un nombre, ou si vous préférez pour créer un nouvel objet de type nombre entier, à partir de la chaîne de caractères "2".
>>>int("2")2
Il faut cependant faire attention, car on peut parfois avoir des erreurs en essayant de créer des objets à partir de données que Python n'arrive pas à convertir.
Si vous essayez par exemple, de convertir la chaîne de caractères "bonjour" en nombre, avec la classe int, vous obtiendrez une erreur car Python ne sait pas comment convertir ce mot en nombre entier.