PythonMasterClass

Class

Une class c'est quoi ?

Une Class sont une sorte de moule permettant de créé des instances, ces instances sont objets. Par exemple 4 est une instance de la class int et int est une instance de type (pour les curieux allers vous renseigner sur le Class qui instansie type).

print(type(4)) # <class 'int'> print(type(int)) # <class 'type'>

Nous pouvons aussi créent nos propres classes, par exemple vous pouvez créer une class Maison.

class Maison: pass une_maison = Maison() print(type(une_maison)) # <class '__main__.Maison'>

C'est bien beau une maison mais il faut aussi que l'on puisse lui définir des valeurs !

class Batiment: def __init__(self, adresse): self.adresse = adresse batiment = Batiment("140 Rue de la Nouvelle France") print(batiment.adresse) # 140 Rue de la Nouvelle France

_init__ et une fonction appelée lors de la création d'une instance, la variable self correspond à l'instance, le nom self n'est obligatoire on aurait pu lui donner n'importe quel nom.

L'Héritage

Une notion importante des classes est l'héritage, il permet de faire en sorte qu'une class provienne d'un autre, Par exemple on veut faire en sorte de faire un immeuble qui serait un bâtiment.

class Batiment: def __init__(self, adresse): self.adresse = adresse class Immeuble(Batiment): def __init__(self, adresse, habitants): super().__init__(adresse) self.habitants = habitants immeuble = Immeuble("78 Rue du Python", ["Alice", "Bob"]) print(immeuble.adresse) # 78 Rue du Python print(immeuble.habitants) # ['Alice', 'Bob'] print(type(immeuble)) # <class '__main__.Immeuble'>