Objets types et types d'objets
Python connaît 6 classes d'objets de base qui permettent de faire la grande majorité des programmes.
Utilisez la console de https://console.basthon.fr/ pour exécuter les divers exemples et exercices
Six classes de base
- Chaînes de caractères
- exemple :
"python"
ou'python'
- quelque chose qui commence et fini par
"
ou qui commence et fini par'
ou encore qui commence et fini par"""
.
- exemple :
- Réels
- exemple :
2.91
ou2.0
- un nombre avec une décimale (qui peut être nulle) notée par un
.
- exemple :
- Entiers
- exemple :
42
ou0
- un nombre sans décimale
- exemple :
- Complexes (la notation utilise j à la place de i)
- exemple :
3+2j
,1j
- un réel ou entier avec une partie imaginaire, notée
j
, entière ou imaginaire.
- exemple :
- Booléens
- exemple :
True
ouFalse
- que 2 possibilités,
True
ouFalse
- exemple :
- le vide, utilisé pour noter l'absence de valeur
- ne contient qu'un unique élément noté
None
- ne contient qu'un unique élément noté
Tout objet de python à sa classe.
Classes d'un objet
Tout objet a une classe, aussi appelé type. Pour connaître la classe d'un objet, on peut utiliser la fonction type
. Par exemple :
type(42)
Qui rendra : <class 'int'>
. Les entiers sont donc de classe 'int'
en python.
Dans la console de https://console.basthon.fr/, donnez la classe de chaque objet de base/
solution
solution
>>> type("2")
<class 'str'>
>>> type(2.0)
<class 'float'>
>>> type(2)
<class 'int'>
>>> type(2+0j)
<class 'complex'>
>>> type(True)
<class 'bool'>
Changer de classe
Il est possible de créer un nouvel objet à partir d'un objet d'une autre classe en le convertissant. Supposons que l'on veuille convertir un objet b
dans la classe de nom classe_a
Pour cela, on utilise le nom de la classe de destination, suivie d'une parenthèse où l'on place notre objet à convertir (comme si classe_a
était une fonction) :
classe_a(b) # transfome l'objet b en objet de classe classe_a
Réels, entiers et chaînes de caractères
On peut par exemple transformer un réel en entier :
Quel est le résultat de l'instruction suivante :
int(3.1415)
solution
solution
>>> int(3.1415)
3
C'est un entier valant 3.
Ou en entier en réel :
Quel est le résultat de l'instruction suivante :
float(3)
solution
solution
>>> float(3)
3.0
C'est un réel valant 3.0
On peut aussi transformer une chaîne de caractères en entier ou en réel. Par exemple :
float("3.1415")
Va rendre un objet réel valant 3.1415 à partir d'une chaîne de caractère avec le caractère "3.1415".
Une chaîne de caractère n'est pas un réel ou un entier.
La conversion de chaînes de caractères en entier ou en réels est très courante lorsque l'on récupère des entrées tapées par un utilisateur qui sont toujours des chaînes de caractères
Conversion booléennes
On effectue souvent ce genre d'opération de façon implicite pour les booléens. Ainsi, un entier est vrai s'il est non nul.
Vérifiez le.
solution
solution
>>> bool(42)
True
Tous les objets peuvent être converti en booléen.
Quand-est qu'une chaîne de caractère est fausse ?
solution
solution
Une chaîne de caractère est fausse si elle est vide et vraie sinon.
>>> bool("")
False
>>> bool("False")
True
On peut aussi faire le contraire :
Que vaut la conversion de booléens en entier ?
solution
solution
Une chaîne de caractère est fausse si elle est vide et vraie sinon.
>>> int(True)
1
>>> int(False)
0
Conversions impossibles
Il n'est pas possible de convertir tout en tout bien sur, par exemple int("quarante-deux")
produit une erreur.