Добавление классов в пакет

Принципы разработки программного обеспечения на Python

Adam Spannbauer

Machine Learning Engineer at Eastman

Объектно-ориентированное программирование

Модульность ООП

Принципы разработки программного обеспечения на Python

Структура класса

работаем в 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
Принципы разработки программного обеспечения на Python

Использование класса в пакете

работаем в work_dir/my_package/__init__.py

from .my_class import MyClass

работаем в 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'
Принципы разработки программного обеспечения на Python

Соглашение self

работаем в 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')
Принципы разработки программного обеспечения на Python

Давайте потренируемся!

Принципы разработки программного обеспечения на Python

Preparing Video For Download...