Короткі скрипти поміщаються в одному файлі, але з часом код може стати занадто об'ємним. У такому випадку зручно розбити великий скрипт на частини і структурувати проект. Це значно полегшує роботу над ним.
Якщо код стає занадто великим, його можна розділити на кілька модулів — окремих файлів Python. Модулі можуть бути організовані в пакети — папки, що містять ці модулі.
Наприклад, функції загального призначення можна винести в окремий файл, а налаштування і основну логіку — в інші файли. Ці файли називаються модулями.
Ви можете імпортувати код із модулів за допомогою оператора from ... import ...
.
Приклад:
# Файл salary_calculations.py
def add_bonus(salary, bonus_percents):
return salary * (1 + bonus_percents / 100)
Щоб використати функцію add_bonus
у файлі main.py
, потрібно її імпортувати:
from salary_calculations import add_bonus
salary = 1000
bonus = 15
salary_with_bonus = add_bonus(salary, bonus)
print(salary_with_bonus) # 1150
Або імпортувати весь модуль:
import salary_calculations
salary = 1000
bonus = 15
salary_with_bonus = salary_calculations.add_bonus(salary, bonus)
print(salary_with_bonus) # 1150
Окремі файли .py
— це модулі, з яких можна імпортувати потрібні функції та змінні.
Пакет — це папка, що містить модулі Python. Робота з пакетами аналогічна роботі з модулями, але пакети дозволяють краще організувати код.
Наприклад, якщо модуль salary_calculations.py
розміщено в папці calculations
, його можна імпортувати так:
from calculations import salary_calculations
salary = 1000
bonus = 15
salary_with_bonus = salary_calculations.add_bonus(salary, bonus)
print(salary_with_bonus) # 1150
Або лише необхідну функцію:
from calculations.salary_calculations import add_bonus
salary = 1000
bonus = 15
salary_with_bonus = add_bonus(salary, bonus)
print(salary_with_bonus) # 1150
Розбивка на пакети і модулі може тривати стільки, скільки потрібно, щоб зробити код зручним для роботи. Основне правило — називати пакети та модулі так само, як і змінні Python (тільки літери, цифри та _
, ім'я не починається з цифри).