Adicionando Classes a um Pacote

Princípios de Engenharia de Software em Python

Adam Spannbauer

Machine Learning Engineer at Eastman

Programação Orientada a Objetos

Modularidade OOP

Princípios de Engenharia de Software em Python

Anatomia de uma Classe

trabalhando em work_dir/my_package/my_class.py

# Defina uma classe mínima com um atributo
class MyClass:

"""Uma classe de exemplo mínima :param value: valor para definir como o atributo ``attribute`` :ivar attribute: contém o conteúdo de ``value`` passado no init """
# Método para criar uma nova instância de MyClass def __init__(self, value): # Define o atributo com o conteúdo do parâmetro value self.attribute = value
Princípios de Engenharia de Software em Python

Usando uma Classe em um Pacote

trabalhando em work_dir/my_package/__init__.py

from .my_class import MyClass

trabalhando em work_dir/my_script.py

import my_package

# Cria instância de MyClass
my_instance = my_package.MyClass(value='valor do atributo da classe')

# Imprime o valor do atributo da classe
print(my_instance.attribute)
'valor do atributo da classe'
Princípios de Engenharia de Software em Python

A Convenção do self

trabalhando em work_dir/my_package/my_class.py

# Defina uma classe mínima com um atributo
class MyClass:
    """Uma classe de exemplo mínima

    :param value: valor para definir como o atributo ``attribute``
    :ivar attribute: contém o conteúdo de ``value`` passado no init
    """

    # Método para criar uma nova instância de MyClass
    def __init__(self, value):
        # Define o atributo com o conteúdo do parâmetro value
        self.attribute = value
my_instance = my_package.MyClass(value='valor do atributo da classe')
Princípios de Engenharia de Software em Python

Vamos Praticar

Princípios de Engenharia de Software em Python

Preparing Video For Download...