Ajout de classes à un package

Principes d’ingénierie logicielle en Python

Adam Spannbauer

Machine Learning Engineer at Eastman

Programmation orientée objet

Modularité POO

Principes d’ingénierie logicielle en Python

Anatomie d'une classe

travail dans work_dir/my_package/my_class.py

# Définir une classe minimale avec un attribut
class MyClass:

"""Une classe d'exemple minimale :param value: valeur à définir comme attribut ``attribute`` :ivar attribute: contient le contenu de ``value`` passé dans init """
# Méthode pour créer une nouvelle instance de MyClass def __init__(self, value): # Définir l'attribut avec le contenu du paramètre value self.attribute = value
Principes d’ingénierie logicielle en Python

Utiliser une classe dans un package

travail dans work_dir/my_package/__init__.py

from .my_class import MyClass

travail dans work_dir/my_script.py

import my_package

# Créer une instance de MyClass
my_instance = my_package.MyClass(value='valeur de l'attribut de classe')

# Afficher la valeur de l'attribut de classe
print(my_instance.attribute)
'valeur de l'attribut de classe'
Principes d’ingénierie logicielle en Python

La convention self

travail dans work_dir/my_package/my_class.py

# Définir une classe minimale avec un attribut
class MyClass:
    """Une classe d'exemple minimale

    :param value: valeur à définir comme attribut ``attribute``
    :ivar attribute: contient le contenu de ``value`` passé dans init
    """

    # Méthode pour créer une nouvelle instance de MyClass
    def __init__(self, value):
        # Définir l'attribut avec le contenu du paramètre value
        self.attribute = value
my_instance = my_package.MyClass(value='valeur de l'attribut de classe')
Principes d’ingénierie logicielle en Python

Passons à la pratique !

Principes d’ingénierie logicielle en Python

Preparing Video For Download...