Création d’une classe, attributs et méthodes
Comme vous devez le savoir maintenant, en programmation Python, tout est objet ! Un objet a des attributs et des méthodes définis dans une classe. Les attributs représentent les variables attachées à cet objet et le caractérisent. Les méthodes définissent les comportements de cet objet.
Reprenos tout d’abord l’exemple d’une classe d’objets intégrée « str », la classe des chaînes de caractères (strings):
>>> b = "hello" >>> type (b) <class 'str'> >>> b.upper () 'HELLO' >>>
b = « hello » Nous déclarons un objet ayant pour valeur une chaîne de caractères.
Python en reconnaît le type.
type (b) La commande nous apprend que l’objet b est de la classe str (string)
b.upper ( ) Nous pouvons donc lui attacher une méthode de la classe string upper ( )
Consultons l’aide de cette méthode :
>>> help (str.upper) Help on method_descriptor: upper(...) S.upper() -> str Return a copy of S converted to uppercase. >>>
Nous allons définir une classe et nous allons déclarer un objet de cette classe.
Voici le script prem_classe.py :
""" Classe servant à calculer l'aire d'un rectangle """ class Exemple (object): def __init__ (self): self.longueur = 25 self.largeur = 12 def aire (self): print ("L'aire de ce rectangle est de ", self.longueur,"X",self.largeur,"=",self.longueur*self.largeur)
class Exemple (object) : par convention, une classe commence toujours par une majuscule et entre parenthèses, l’argument est « object »
def __init__ (self) : c’est la méthode constructeur de la classe dans laquelle, on va mettre les attributs dont on va avoir besoin. « self » remplace l’objet que nous allons déclarer !
def aire (self): en dehors de la méthode constructeur, les autres méthodes sont là pour appliquer du code à l’objet.
Exécution :
>>> >>> forme = Exemple () >>> forme.longueur 25 >>> forme.largeur 12 >>> forme.aire () L'aire de ce rectangle est de 25 X 12 = 300 >>>
forme = Exemple ( ) nous déclarons un objet qui se nomme « forme » qui sera de la classe Exemple ( )
forme.longueur l’attribut de l’objet « longueur » est égal à 25
forme.aire ( ) la méthode aire ( ) est appliquée à l’objet « forme » de la classe Exemple ( )
Une méthode est une fonction de classe d’objets !
Dans cette première classe, nous imposons les valeurs des attributs !
Pour info, l’appel de l’aide de la classe et ensuite du module :
>>> help (Exemple) Help on class Exemple in module __main__: class Exemple(builtins.object) | Methods defined here: | | __init__(self) | | aire(self) | | ---------------------------------------------------------------------- | Data descriptors defined here: | | __dict__ | dictionary for instance variables (if defined) | | __weakref__ | list of weak references to the object (if defined) >>>
>>> help ("prem_classe") Help on module prem_classe: NAME prem_classe - Classe servant à calculer l'aire d'un rectangle CLASSES builtins.object Exemple class Exemple(builtins.object) | Methods defined here: | | __init__(self) | | aire(self) | | ---------------------------------------------------------------------- | Data descriptors defined here: | | __dict__ | dictionary for instance variables (if defined) | | __weakref__ | list of weak references to the object (if defined) FILE /home/fabricedumont/prem_classe.py >>>