Модуль 7C: Модулі та бібліотеки

import, from...import, as — підключення модулів

📖 Теорія

Модуль — файл з Python-кодом, який можна підключити до своєї програми.

Способи підключення:

Python
11. import модуль — підключити весь модуль:
2   import math
3   print(math.sqrt(16))
Python
12. from модуль import функція — конкретну функцію:
2   from math import sqrt
3   print(sqrt(16))  class="hl-comment"># без приставки math.
  1. from модуль import * — все (не рекомендується):
  2. Може викликати конфлікти імен.
Python
14. import модуль as псевдонім — коротке ім&class="hl-comment">#039;я:
2   import datetime as dt

Де Python шукає модулі:
• У поточній папці
• У встановлених пакетах (site-packages)
• У стандартній бібліотеці

Можна створити свій модуль — просто збережіть код у .py файл!

💡 Приклад коду
Вивід:

                            
📝 ЗАВДАННЯ (2)
/home/u994965865/domains/navychky.com.ua/public_html/course/lesson.php on line 260
" data-task-id="
Warning: Undefined array key "id" in /home/u994965865/domains/navychky.com.ua/public_html/course/lesson.php on line 261
" data-xp="10">
1.
Завдання: Три способи імпорту
10 XP
Обчисліть квадратний корінь із 144 трьома способами:
1) import math
2) from math import sqrt
3) import math as m
/home/u994965865/domains/navychky.com.ua/public_html/course/lesson.php on line 337
">
💡 Підказка: При import math — math.sqrt(), при from import — sqrt(), при import as — m.sqrt()
/home/u994965865/domains/navychky.com.ua/public_html/course/lesson.php on line 346
">
🔓 Розв'язок:
import math
print('Спосіб 1:', math.sqrt(144))

from math import sqrt
print('Спосіб 2:', sqrt(144))

import math as m
print('Спосіб 3:', m.sqrt(144))
/home/u994965865/domains/navychky.com.ua/public_html/course/lesson.php on line 355
">
Вивід:

                                
/home/u994965865/domains/navychky.com.ua/public_html/course/lesson.php on line 374
">

/home/u994965865/domains/navychky.com.ua/public_html/course/lesson.php on line 260
" data-task-id="
Warning: Undefined array key "id" in /home/u994965865/domains/navychky.com.ua/public_html/course/lesson.php on line 261
" data-xp="20">
2.
Завдання: Свій модуль
20 XP
Створіть файл myutils.py з функціями: is_even(n) та celsius_to_fahrenheit(c). Імпортуйте та використайте їх в основному файлі.
/home/u994965865/domains/navychky.com.ua/public_html/course/lesson.php on line 337
">
💡 Підказка: F = C * 9/5 + 32. Обидва файли мають бути в одній папці.
/home/u994965865/domains/navychky.com.ua/public_html/course/lesson.php on line 346
">
🔓 Розв'язок:
# Файл myutils.py:
# def is_even(n):
#     return n % 2 == 0
# def celsius_to_fahrenheit(c):
#     return c * 9/5 + 32

# Файл main.py:
# from myutils import is_even, celsius_to_fahrenheit
# print(is_even(4))  # True
# print(celsius_to_fahrenheit(100))  # 212.0

# Для тесту без файлу:
def is_even(n): return n % 2 == 0
def celsius_to_fahrenheit(c): return c * 9/5 + 32
print(is_even(4), celsius_to_fahrenheit(100))
/home/u994965865/domains/navychky.com.ua/public_html/course/lesson.php on line 355
">
Вивід:

                                
/home/u994965865/domains/navychky.com.ua/public_html/course/lesson.php on line 374
">