- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compte personLes constructeurs de types natifs
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 str
ing pour chaîne de caractères, int
eger pour les nombres entiers, float
pour les nombres décimaux et bool
ean pour les booléens.
Tous les objets correspondant aux types natifs de base pourraient ainsi être créés avec ces classes.
>>> str("bonjour")
'bonjour'
>>> int(5)
5
>>> float(10.7)
10.7
>>> bool(True)
True
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'
>>> 5
5
>>> 10.7
10.7
>>> True
True
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.
>>> int("bonjour")
ValueError: invalid literal for int() with base 10: 'bonjour'
Et c'est assez logique, car il est difficile d'exprimer le mot bonjour sous la forme d'un nombre.
Ce n'est pas fini...
Tu as complété % du parcours 🔥
Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.