Dodawanie funkcjonalności do pakietów

Zasady inżynierii oprogramowania w Pythonie

Adam Spannbauer

Machine Learning Engineer at Eastman

Struktura pakietu

Struktura pakietu

Zasady inżynierii oprogramowania w Pythonie

Dodawanie funkcjonalności

praca w work_dir/my_package/utils.py

def we_need_to_talk(break_up=False):
    """Helper for communicating with significant other"""
    if break_up:
        print("It's not you, it's me...")
    else:
        print('I <3 U!')

praca w work_dir/my_script.py

# Import utils submodule
import my_package.utils

# Decide to start seeing other people
my_package.utils.we_need_to_talk(break_up=True)
It's not you, it's me...
Zasady inżynierii oprogramowania w Pythonie

Importowanie funkcji przez `__init__.py`

praca w work_dir/my_package/__init__.py

from .utils import we_need_to_talk

praca w work_dir/my_script.py

# Import custom package
import my_package

# Realize you're with your soulmate
my_package.we_need_to_talk(break_up=False)
I <3 U!
Zasady inżynierii oprogramowania w Pythonie

Rozszerzanie struktury pakietu

Rozszerzona struktura pakietu

Zasady inżynierii oprogramowania w Pythonie

Rozszerzanie struktury pakietu

Struktura podpakietu

Zasady inżynierii oprogramowania w Pythonie

Czas na ćwiczenia!

Zasady inżynierii oprogramowania w Pythonie

Preparing Video For Download...