Імпорт модулів у Python 3, Блог

Ми покажемо вам як імпортувати сторонні модулі до Python 3

Мова Python люблять за те, що вона має велику кількість вбудованих функцій. Зі стандартних можна виділити такі:

• Відображення значення за допомогою команди print();

• Повернення довжини колекції та послідовності за рахунок len();

• Повернення абсолютного значення числа за допомогою abs();

• Перетворення даних у ціле число командою int();

Вищеописаних функцій мало кому буде достатньо. Тому і вигадують модулі для розширення функціоналу. Це файли, написані мовою Python з кодом і мають розширення .py. Ви можете посилатися на будь-який файл, як модуль, просто опустивши розширення при зверненні. Такий модуль можна використовувати в командному рядку, а також імпортувати його в інші файли на Python.

Крім того, модулі визначають змінні, функції, класи. На них можна також посилатися в інших файлах за допомогою інтерпретатора командного рядка мови Python. За допомогою команди import ви зможете імпортувати модулі. Визначення зберігаються під час виконання коду Python, тому файл може їх використовувати. При імпорті модуля hello мови Python, інтерпретатор спочатку шукатиме його у вбудованих модулях. Якщо це не вдасться, пошук файлу hello.py продовжиться в папках, які задані в sys.path.

У нашій статті ми покажемо, як ставити модулі, а також імпортувати їх та робити їм псевдоніми.

Багато модулів містяться в Python Standard Library. Вони надають стандартні рішення, а також доступ до функціональних можливостей системи. Бібліотека ставиться під час встановлення мови Python. Якщо ви хочете переконатися в доступності модулів, доведеться зайти в середу розробки і запустити інтерпретатор мови Python.Для цього наберіть у командному рядку:

Щоб переконатися у готовності модуля до роботи, запускаємо оператор import за допомогою:

цей модуль вбудований, тому виводу ми не побачимо. Тобто. для його запуску нічого не потрібно робити. Тепер спробуємо встановити ім'я модуля, який не є дефолтним. Наберіть у командному рядку:

Команда поверне помилку, якщо такого модуля немає:

Для інсталяції за допомогою pip нам потрібно відключити інтерпретатор Python. Це можна зробити за допомогою комбінації клавіш Ctrl+D. Наберіть у консолі:

Коли модуль буде встановлено, потрібно спробувати імпортувати його.

2) Як імпортувати модулі?

Для доступу до функцій модуля імпортуйте його за допомогою оператора import. Він складається з імені модуля і ключового import. Цей вираз має бути розташований у верхній частині коду документа на Python. Для імпорту модуля random, що генерує випадкові числа, потрібно в програму my_rand_int.py відкрити файл і написати:

Після цього модуль стане доступним як окремий простір імен у поточній відкритій програмі. Тому на функцію можна посилатися у точковій нотації ([module].[function]).

Вищеописаний модуль random буде працювати як функція, якщо використовувати:

• random.randint() для виклику функції, яка може повернути довільне число;

• random.randrange() здатний викликати функцію, що повертає із заданої послідовності випадковий елемент.

Тепер зробимо цикл for, адже це дасть нам змогу побачити у роботі модуль random. Потрібно відкрити файл my_rand_int.py щоб додати:

Програма імпортує модуль random, після чого йде запуск циклу for, здатного обробити 10 елементів. Крім того, вона здатна видати будь-яке цілечисло від 1 до 20. Дані значення як параметри задаються за допомогою random.randint(). Спочатку запустимо програму за допомогою:

На дисплеї ви побачите 10 випадкових значень із вказаного діапазону.

При необхідності застосування функцій кількох модулів потрібно буде додати для кожного команду import:

Майте на увазі, що деякі програми можуть імпортувати кілька модулів, але всередині одного виразу import поділяють їх комами. Однак це дещо суперечить посібнику з написання коду РЕР8. Для застосування другого імпортованого, додайте в програму константу pi, або зменште кількість випадкових чисел, що видаються. Наберіть:

Після цього можна зберігати зміни та запускати програму за новою. У вибірці ви отримаєте приблизно такий результат:

3) Використання виразу from… import

Воно може стати в нагоді для посилання в просторі імен на елементи з модуля. При імпорті модулів таким чином, вийде посилатися на функцію не за точковими нотаціями, а на ім'я. Конструкція from… import дозволить вам вказати безпосередньо, на які визначення потрібно посилатися. Крім того, оператор import посилається в деяких програмах на всі визначення модуля символом *. Однак такий підхід також суперечить стандартам. Імпортуємо з модуля random функцію randint(). Наберіть у консолі:

В першу чергу нам доведеться викликати ключів from, а також задати назву модуля. Після цього використовується import із завданням потрібної функції. Завдяки цьому можна не використовувати нотацію (random.randint()), а просто вказати randint() у консолі:

На екрані ви побачите виведення чисел, як і в попередньому варіанті. Адже конструкція from…import дає можливість викликати функції не використовуючи точкову нотацію.

4) Застосуванняпсевдонімів модулів

Можна настроювати модульні імена, тобто. використовувати псевдоніми. Для цього в Python є ключове слово as. Якщо одне ім'я вже використовується в програмі, таке саме ім'я для іншого модуля вдасться замінити. Це дасть можливість скоротити до абревіатури довге ім'я модуля. Для цього стане в нагоді наступна конструкція:

Замінимо ім'я модуля math, скоротивши його до m у файлі програми my_math.py. Наберіть у консолі:

Майте на увазі, що число pi тепер ми будемо посилатися за допомогою m.pi, а не як раніше на math.pi. крім того, для деяких модулів звернення застосовується в обов'язковому порядку. У документації до matplotlib.pyplot розробники рекомендують використовувати скорочення plt:

У програмах вигідно використовувати короткі імена модулів. Це знизить ймовірність допуску помилки, друкарської помилки.

При імпорті ви отримаєте доступ до інших функцій мови Python. Деякі модулі постачаються разом із мовою Python. Інші ви зможете поставити на рахунок pip. Вони необхідні для підвищення продуктивності та надійності програми. Крім того, необхідні модулі можна створювати самостійно.