Python import: как происходит подключение пакетов и модулей
Python славиться своєю простотою та багатою екосистемою бібліотек. Одним із очевидних плюсів цієї мови слід вважати можливість легко підключати різні модулі та пакети. Це дозволяє розробникам ефективно розширювати функціональність своїх програм. У цій публікації ми ознайомимося, як в Python правильно підключати пакети і модулі, розглянемо відповідні фрагменти коду та рекомендації для практичного застосування.
Модуль — це файл з розширенням .py. У ньому містяться функції, класи та змінні. Завдяки модулям код перетворюється на блоки для вторинного застосування у різних проектах.
Пакет — це колекція модулів, об’єднаних у директорію з файлом __init__.py. За допомогою пакетів можна структурувати модулі за певною ієрархією, що полегшує навігацію та управління залежностями.
Для імпортування модуля необхідно ввести ключове слово import. Погляньмо, як це відбувається на конкретних прикладах.
Припустимо, у нас є вбудований модуль math з декількома математичними функціями.
import math # Використання функції sqrt з модуля math result = math.sqrt(25) print(result) # Вивід: 5.0
Як можна помітити, ми підключили модуль math, що дало нам можливість обчислити квадратний корінь із 25 з використанням функції sqrt.
Іноді зручно імпортувати з модуля лише необхідні елементи, щоб уникнути надмірності.
from math import sqrt, pi # Використання імпортованих елементів напряму result = sqrt(9) print(result) # Вивід: 3.0 print(pi) # Вивід: 3.141592653589793
Тут ми імпортували функцію sqrt та константу pi з модуля math, що дозволяє звертатися до них без префікса math.
Для зручності можна призначити модулю або його елементам псевдонім.
import numpy as np # Застосування функції array з модуля numpy із псевдонімом np arr = np.array([10, 20, 30, 40]) print(arr) # Вивід: [10 20 30 40]
В даному випадку модуль numpy підключений з псевдонімом np, що скорочує запис та покращує читабельність коду.
Використання from module import * дозволяє імпортувати всі елементи модуля, але цей метод не рекомендується через можливі конфлікти імен.
from math import * # Використання функцій без префіксу result = sin(pi / 2) print(result) # Вивід: 1.0
Хоча цей спосіб зручний, тут є ризик отримати перевизначення існуючих або змінних функцій, тому його слід використовувати з обережністю.
Як ми вже знаємо, пакети Python складаються з декількох модулів і можуть включати субпакети. Розгляньмо, як вони імпортуються.
Припустимо, ми маємо пакет mypackage з наступною структурою:
mypackage/ │ ├── __init__.py ├── module3.py └── module4.py
Наявність або відсутність коду у файлі __init__.py не впливає на виконання.
Для підключення модуля вводимо команду import:
import mypackage.module2 # Застосування функції module1 mypackage.module2.my_function()
Як і в попередніх прикладах, виконуємо імпортування:
from mypackage.module3 import MyClass # Генеруємо екземпляр класу з module3 obj = MyClass() obj.method()
from mypackage import module1 as mod1 # Використання функції з module1 з псевдонімом mod1.my_function()
При необхідності всередині пакета можна створити ієрархічні субпакети з власною структурою у зручному форматі.
mypackage/ │ ├── __init__.py ├── module2.py └── subpackage/ ├── __init__.py └── module4.py
Підключення модуля із вкладеного субпакету:
from mypackage.subpackage import module4 # Використання функції з module4 module4.another_function()
Розробник може створити власний модуль чи пакет. Це має сенс з метою покращення структури коду та вторинного застосування його у різних проектах.
Для початку потрібно створити файл з назвою mymodule.py:
# mymodule.py def greet(name): return f"Hello, {name}!"
Тепер використовуємо згенерований модуль в іншому файлі:
import mymodule message = mymodule.greet("Alice") print(message) # Вивід: Hello, Alice!
Створюємо структуру папок:
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!
При використанні функції import, Python шукає починає пошук модулів та пакетів у таких місцях:
Ви можете переглянути поточний список директорій пошуку за допомогою команди:
import sys print(sys.path)
import os import sys import numpy as np import requests import mymodule
from math import sqrt, pi
Підключення модулів та пакетів — одна з фундаментальних можливостей мови програмування Python. Завдяки їй можна ефективно організовувати та розширювати свій код. Розуміння різних способів імпорту та дотримання рекомендацій дозволяє створювати легкочитані та ремонтопридатні програми. Використовуйте наведені в цій публікації приклади коду як основу для подальшої роботи. Не бійтеся створювати власні модулі для підвищення модульності та вторинного застосування коду.
Резиденти Дія.City сплатили до бюджету понад 8 млрд грн податків в І кварталі 2025 року.…
У Китаї закликають офісних працівників не працювати надто багато — держава сподівається, що вільний час…
Експерти звертають увагу на тривожну тенденцію: люди все частіше використовують ChatGPT, щоб визначити місцезнаходження, зображене…
Компанія JetBrains випустила нову версію мультимовного середовища розробки IntelliJ IDEA 2025.1. Оновлена IDE отримала численні…
Платформа обміну миттєвими повідомленнями Discord впроваджує функцію перевірки віку за допомогою сканування обличчя. Зараз вона…
Wikipedia намагається захистити себе від тисяч різноманітних ботів-скрейперів, які сканують дані цієї платформи для навчання…