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

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

>>> 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

>>> 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

>>> 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

>>> bool(42)
True

Tous les objets peuvent être converti en booléen.

Quand-est qu'une chaîne de caractère est fausse ?

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

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.