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

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. Завдяки їй можна ефективно організовувати та розширювати свій код. Розуміння різних способів імпорту та дотримання рекомендацій дозволяє створювати легкочитані та ремонтопридатні програми. Використовуйте наведені в цій публікації приклади коду як основу для подальшої роботи. Не бійтеся створювати власні модулі для підвищення модульності та вторинного застосування коду.

 

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

Більше 8 млрд грн податків. Стільки сплатили резиденти Дія.City в І кварталі 2025 року

Резиденти Дія.City сплатили до бюджету понад 8 млрд грн податків в І кварталі 2025 року.…

18.04.2025

Китайських офісних працівників закликають менше працювати. Це має допомогти місцевій економіці

У Китаї закликають офісних працівників не працювати надто багато — держава сподівається, що вільний час…

18.04.2025

ChatGPT значно покращив пошук місць по фото. Це посилює проблеми конфіденційності

Експерти звертають увагу на тривожну тенденцію: люди все частіше використовують ChatGPT, щоб визначити місцезнаходження, зображене…

18.04.2025

Середовище розробки IntelliJ IDEA оновлено до версії 2025.1

Компанія JetBrains випустила нову версію мультимовного середовища розробки IntelliJ IDEA 2025.1. Оновлена IDE отримала численні…

18.04.2025

Discord впроваджує функцію сканування обличчя для перевірки віку користувачів

Платформа обміну миттєвими повідомленнями Discord впроваджує функцію перевірки віку за допомогою сканування обличчя. Зараз вона…

18.04.2025

Wikipedia випустила спеціальний датасет, щоб відволікти увагу ботів

Wikipedia намагається захистити себе від тисяч різноманітних ботів-скрейперів, які сканують дані цієї платформи для навчання…

18.04.2025