Створення модулів Python 3, Блог
- Головна
- Блог
- Адміністрація
- Створення модулів Python 3
Створення модулів Python 3
Як самому створювати та імпортувати модулі?
Модулями називають файли з .Ру розширенням, які містять код Python. Ви можете послатися на будь-який файл, як на модуль. Ви можете знайти їх у Python Standard Library. Крім того, деякі модулі за замовчуванням завантажуються разом з Python. Ви також можете поставити необхідні модулі за допомогою пакетного менеджера pip. Ви також можете самостійно писати свої модулі на Python. Наш посібник допоможе вам це зробити.
Створення та імпорт модулів
Процес написання модулів нічим не відрізняється від створення іншого файлу Python. Усередині можуть бути визначення класів, функцій, змінних, які ви можете потім використовувати в інших Python-програмах.
Як написати модуль? Спочатку потрібно розгорнути середовище розробки. У ній створіть файл із розширенням .py, наприклад hello.py. Ви можете потім імпортувати його в інший файл. Усередину потрібно записати функцію:
Ви також можете запустити файл командою:
У тій же папці потрібно створити файл main_program.py. У нього потрібно імпортувати створений модуль, а потім спричиняйте функцію. Файли повинні розташовуватися в одному каталозі, адже модуль не вбудований. Інакше Python не зможе його знайти. Наберіть:
Після імпортування модуля необхідно викликати функцію за допомогою посилання на ім'я модуля в точковій нотації. Ви також можете імпортувати модуль таким чином:
А потім викликати його як world(). Тепер потрібно запустити програму через командний рядок:
І у вас у терміналі з'являться такі рядки:
Тепер ми з вами додамо змінну модуль hello.py:
За допомогою функції print() здійсніть виклик змінної у нашому файлі main_program.py:
Тепер при запуску програми на екрані буде такий напис:
Спробуємо тепер перевизначити клас hello.py. Нам буде потрібно клас user, що має атрибути mood та name. Потрібна також функція, яка виводить ці атрибути:
Тепер потрібно додати клас в самий низ файлу main_program.py. Наберіть:
Якщо викликати клас User за допомогою hello.User(), отримайте доступ до атрибутів і функцій в іменному просторі файлу main_program.py. Для цього на останньому рядку пишеться jesse.tell_me_about_the_user() без виклику hello. Без посилання на цю модель вдасться також викликати будь-який атрибут класу. Під час запуску програми ви побачите:
Пам'ятайте, що модулі можуть реалізовувати код, а не лише зберігають визначення. Ми перепишемо файл hello.py, щоб побачити, як це працює. Потрібно лише реалізувати функцію world():
Наступний крок — видалення всіх рядків із файлу main_program.py за винятком import:
Тепер запустіть програму main_program.py, і ви побачите на екрані:
Що сталося? Модуль hello реалізував функцію world(). Вона передалася у файл main_program.py, при запуску якого виконується.
Доступ до модулів з іншої папки
Ви можете використовувати модулі одночасно у кількох програмах чи проектах. У такій ситуації все тримати в одній теці проблематично. Файли найпростіше зберігати в окремих папках проектів. Якщо ви хочете застосувати модуль з одного проекту до іншого, то це вдасться зробити декількома способами:
1) Додати шлях
Ви можете викликати шлях модуля за допомогою програмних файлів, які його використовують. Це не більше, ніж тимчасове рішення, яке підходить для етапу розробки. Такий підхід недозволить зробити один модуль доступним для всієї вашої системи.
Щоб додати шлях модуля в інший файл, потрібно імпортувати sys з іншими модулями, які вам знадобляться в головному файлі програми. Модуль sys ви зможете знайти у Python Standard Library. Він необхідний надання індивідуальних системних властивостей і функцій, з яких вдасться задати шлях необхідного модуля.
Наприклад, ви створили файл hello.py у папці /user/some/. При цьому в старому каталозі залишився файл main_program.py. Для імпорту модуля hello.py в main_program.py потрібно перенести sys додавши шлях /user/some/. По ньому Python і зможе знайти цей файл. Наберіть:
Якщо правильно встановити шлях до файлу hello.py, вдасться запустити без помилок main_program.py. У нас буде такий самий висновок, як і раніше.
2) Додати модуль у шлях Python
Такий варіант зручніший і його можна використовувати постійно. Ви додаєте модуль у шлях, звідки Python бере пакети та модулі. Ваш модуль стане доступним у рамках усієї системи. Спочатку шлях треба буде дізнатися. Для цього запустіть в середовищі розробки інтерпретатор Python:
Проведіть імпорт модуля sys:
Тепер потрібно за допомогою функції відобразити шлях Python:
Ця команда виведе хоча б один системний шлях. Однак серед розробки можна отримати відразу кілька шляхів. У такому разі вам доведеться визначати потрібне. Ви зможете додати модулі до загальносистемного шляху Python. Для цього:
У цьому каталозі потрібно перемістити файл hello.py. Далі імпортуйте модуль hello:
Ви побачите, що програма працює без помилок.