Рубріки: Основи

Python import: як відбувається підключення пакетів та модулів

Дмитро Сімагін

Python славиться своєю простотою та багатою екосистемою бібліотек. Одним із очевидних плюсів цієї мови слід вважати можливість легко підключати різні модулі та пакети. Це дозволяє розробникам ефективно розширювати функціональність своїх програм. У цій публікації ми ознайомимося, як в Python правильно підключати пакети і модулі, розглянемо відповідні фрагменти коду та рекомендації для практичного застосування.

Модулі та пакети: навіщо вони в Python?

Модуль — це файл з розширенням .py. У ньому містяться функції, класи та змінні. Завдяки модулям код перетворюється на блоки для вторинного застосування у різних проектах.

Пакет — це колекція модулів, об’єднаних у директорію з файлом __init__.py. За допомогою пакетів можна структурувати модулі за певною ієрархією, що полегшує навігацію та управління залежностями.

Як підключати модулі до Python

Для імпортування модуля необхідно ввести ключове слово import. Погляньмо, як це відбувається на конкретних прикладах.

1. Просте підключення модуля

Припустимо, у нас є вбудований модуль math з декількома математичними функціями.

import math

# Використання функції sqrt з модуля math
result = math.sqrt(25)
print(result)  # Вивід: 5.0

 

Як можна помітити, ми підключили модуль math, що дало нам можливість обчислити квадратний корінь із 25 з використанням функції sqrt.

2. Як підключити певні функції чи класи із модуля

Іноді зручно імпортувати з модуля лише необхідні елементи, щоб уникнути надмірності.

from math import sqrt, pi

# Використання імпортованих елементів напряму
result = sqrt(9)
print(result)       # Вивід: 3.0
print(pi) # Вивід: 3.141592653589793

 

Тут ми імпортували функцію sqrt та константу pi з модуля math, що дозволяє звертатися до них без префікса math.

3. Імпорт із псевдонімом

Для зручності можна призначити модулю або його елементам псевдонім.

import numpy as np

# Застосування функції array з модуля numpy із псевдонімом np
arr = np.array([10, 20, 30, 40])
print(arr)  # Вивід: [10 20 30 40]

 

В даному випадку модуль numpy підключений з псевдонімом np, що скорочує запис та покращує читабельність коду.

4. Спосіб імпортування всіх елементів модуля

Використання from module import * дозволяє імпортувати всі елементи модуля, але цей метод не рекомендується через можливі конфлікти імен.

from math import *

# Використання функцій без префіксу
result = sin(pi / 2)
print(result)  # Вивід: 1.0

 

Хоча цей спосіб зручний, тут є ризик отримати перевизначення існуючих або змінних функцій, тому його слід використовувати з обережністю.

Підключення пакетів

Як ми вже знаємо, пакети Python складаються з декількох модулів і можуть включати субпакети. Розгляньмо, як вони імпортуються.

1. Структура пакету

Припустимо, ми маємо пакет mypackage з наступною структурою:

mypackage/
│
├── __init__.py
├── module3.py
└── module4.py

 

Наявність або відсутність коду у файлі __init__.py не впливає на виконання.

2. Як підключити модуль із пакета

Для підключення модуля вводимо команду import:

import mypackage.module2

# Застосування функції module1
mypackage.module2.my_function()

 

3. Підключення певних елементів із модуля пакета

Як і в попередніх прикладах, виконуємо імпортування:

from mypackage.module3 import MyClass

# Генеруємо екземпляр класу з module3
obj = MyClass()
obj.method()

 

4. Підключення з псевдонімом

from mypackage import module1 as mod1

# Використання функції з module1 з псевдонімом
mod1.my_function()

 

5. Вкладені пакети

При необхідності всередині пакета можна створити ієрархічні субпакети з власною структурою у зручному форматі.

mypackage/
│
├── __init__.py
├── module2.py
└── subpackage/
├── __init__.py
└── module4.py

 

Підключення модуля із вкладеного субпакету:

from mypackage.subpackage import module4

# Використання функції з module4
module4.another_function()

 

Як створити власний модуль та пакет у Python

Розробник може створити власний модуль чи пакет. Це має сенс з метою покращення структури коду та вторинного застосування його у різних проектах.

1. Як створити простий модуль

Для початку потрібно створити файл з назвою mymodule.py:

# mymodule.py

def greet(name):
return f"Hello, {name}!"

 

Тепер використовуємо згенерований модуль в іншому файлі:

import mymodule

message = mymodule.greet("Alice")
print(message) # Вивід: Hello, Alice!

 

2. Як створити пакет у Python

Створюємо структуру папок:

mypackage/
│
├── __init__.py
├── greetings.py
└── farewell.py

 

Потім файл greetings.py:

# greetings.py

def say_hello(name):
return f"Hello, {name}!"

 

Файл farewell.py:

# farewell.py

def say_goodbye(name):
return f"Goodbye, {name}!"

 

Для зручності імпорту у файлі __init__.py може бути код:

#__init__.py

from .greetings import say_hello
from .farewell import say_goodbye

 

Використовуємо пакет:

import mypackage

print(mypackage.say_hello("Bob"))     # Вивід: Hello, Bob!
print(mypackage.say_goodbye("Bob"))   # Вивід: Goodbye, Bob!

 

Як шукати модулі та пакети в Python

При використанні функції import, Python шукає починає пошук модулів та пакетів у таких місцях:

  • Поточна директорія — місце, звідки запущено сценарій.
  • Змінне оточення PYTHONPATH — список директорій, розділених двокрапкою або крапкою з комою.
  • Стандартні директорії бібліотек — місця, де встановлені стандартні та сторонні бібліотеки.

Ви можете переглянути поточний список директорій пошуку за допомогою команди:

import sys
print(sys.path)

 

Рекомендації при підключенні модулів та пакетів у Python

  • Уникайте застосування команди from module import *. Можуть виникнути конфлікти найменувань. Це призводить у кінцевому підсумку до ускладнення налагодження.
  • Використовуйте псевдоніми для довгих імен модулів — це покращує читабельність.
  • Групуйте імпорти: спочатку імпортуйте стандартні бібліотеки, після них сторонні пакети, а в кінці — власні модулі. Розділяйте групи порожніми рядками.

 

import os
import sys

import numpy as np
import requests

import mymodule

 

  • Імпортуйте лише потрібні елементи. Це не захаращує код і дозволяє уникати конфліктів.
from math import sqrt, pi

 

  • Дотримуйтесь правил PEP 8 — офіційного гіда за стилем Python, який впорядковує правила імпорту та оформлення коду.

Висновок

Підключення модулів та пакетів — одна з фундаментальних можливостей мови програмування Python. Завдяки їй можна ефективно організовувати та розширювати свій код. Розуміння різних способів імпорту та дотримання рекомендацій дозволяє створювати легкочитані та ремонтопридатні програми. Використовуйте наведені в цій публікації приклади коду як основу для подальшої роботи. Не бійтеся створювати власні модулі для підвищення модульності та вторинного застосування коду.

 

Останні статті

Юлія Штукатурова стала новою керівницею європейського регіону в GlobalLogic

Компанія GlobalLogic заявила, що європейський регіон відтепер очолюватиме Юлія Штукатурова, повідомили в DOU. У GlobalLogic Юлія…

04.06.2025

Інсайдери OpenAI розповіли, що чекати від GPT-5, яка з’явиться в липні

Флагманська LLM-модель OpenAI GPT-5 з'явиться вже в липні, як стверджують інсайдери. Модель матиме підтримку відео,…

04.06.2025

Безкоштовні користувачі ChatGPT отримали доступ до розширеної функції пам’яті

Функція пам'яті ChatGPT, яка дозволяє звертатися до історії минулих розмов з чат-ботом, тепер стала доступною…

04.06.2025

Розробники Go остаточно відмовились від спроб покращити синтаксис обробки помилок

Після шести років обговорень та сотень пропозицій від ком'юніті команда розробників Go офіційно оголосила, що…

04.06.2025

Оновлення Telegram: з’явились повідомлення адмінам каналів і скорочення голосових повідомлень

Команда Telegram випустила чергове велике оновлення. Адмінам каналів тепер можна надсилати особисті повідомлення, спростилося перемикання…

04.06.2025

У Росії націоналізували одну з найбільших геймдев-компаній. Звинуватили в підтримці ЗСУ

Таганський суд Москви ухвалив рішення про передачу у власність держави 100% уставного капіталу IT-компанії «Леста…

04.06.2025