Ajouter des classes à un paquet

Principes d'ingénierie logicielle en Python

Adam Spannbauer

Machine Learning Engineer at Eastman

Programmation orientée objet

Modularité en POO

Principes d'ingénierie logicielle en Python

Anatomie d'une classe

dans work_dir/my_package/my_class.py

# Define a minimal class with an attribute
class MyClass:

"""Une classe minimale d'exemple :param value: valeur à définir comme attribut ``attribute`` :ivar attribute: contient la valeur de ``value`` transmise à init """
# Method to create a new instance of MyClass def __init__(self, value): # Define attribute with the contents of the value param self.attribute = value
Principes d'ingénierie logicielle en Python

Utiliser une classe dans un paquet

dans work_dir/my_package/__init__.py

from .my_class import MyClass

dans work_dir/my_script.py

import my_package

# Create instance of MyClass
my_instance = my_package.MyClass(value='class attribute value')

# Print out class attribute value
print(my_instance.attribute)
'class attribute value'
Principes d'ingénierie logicielle en Python

La convention self

dans work_dir/my_package/my_class.py

# Define a minimal class with an attribute
class MyClass:
    """A minimal example class

    :param value: value to set as the ``attribute`` attribute
    :ivar attribute: contains the contents of ``value`` passed in init
    """

    # Method to create a new instance of MyClass
    def __init__(self, value):
        # Define attribute with the contents of the value param
        self.attribute = value
my_instance = my_package.MyClass(value='class attribute value')
Principes d'ingénierie logicielle en Python

Passons à la pratique !

Principes d'ingénierie logicielle en Python

Preparing Video For Download...