Adicionando Funcionalidade a Pacotes

Princípios de Engenharia de Software em Python

Adam Spannbauer

Machine Learning Engineer at Eastman

Estrutura do pacote

Estrutura do Pacote

Princípios de Engenharia de Software em Python

Adicionando funcionalidade

trabalhando em work_dir/my_package/utils.py

def we_need_to_talk(break_up=False):
    """Auxiliar para comunicação com parceiro"""
    if break_up:
        print("Não é você, sou eu...")
    else:
        print('Eu <3 Você!')

trabalhando em work_dir/my_script.py

# Importar submódulo utils
import my_package.utils

# Decidir seguir em frente
my_package.utils.we_need_to_talk(break_up=True)
Não é você, sou eu...
Princípios de Engenharia de Software em Python

Importando funcionalidade com __init__.py

trabalhando em work_dir/my_package/__init__.py

from .utils import we_need_to_talk

trabalhando em work_dir/my_script.py

# Importar pacote personalizado
import my_package

# Perceber que encontrou sua alma gêmea
my_package.we_need_to_talk(break_up=False)
Eu <3 Você!
Princípios de Engenharia de Software em Python

Ampliando a estrutura do pacote

Estrutura do Pacote Ampliada

Princípios de Engenharia de Software em Python

Ampliando a estrutura do pacote

Estrutura do Subpacote

Princípios de Engenharia de Software em Python

Vamos praticar!

Princípios de Engenharia de Software em Python

Preparing Video For Download...