Модульні уроки (4/4)
імпорт і модулі
Модуль у Python — це просто файл .py. Використовувати код модуля
з іншого файлу, ви імпортуєте його.
Форми import
# 1) import del modulo intero
import math
math.sqrt(16) # 4.0
math.pi # 3.14159...
# 2) import di nomi specifici
from math import sqrt, pi
sqrt(16) # ora direttamente disponibile
pi
# 3) import con alias
import numpy as np # convenzione idiomatica
from datetime import datetime as dt
# 4) import "star" (sconsigliato)
from math import * # inquina il namespace, evitaДе Python шукає модулі
Python шукає модулі в sys.path, який включає:
- каталог запущеного скрипта,
- каталоги в
PYTHONPATH, - встановлені бібліотеки (
site-packages).
import sys
sys.path # lista di directoryСтворення модуля
Створити mio_modulo.py:
# mio_modulo.py
PI = 3.14159
def area_cerchio(r):
return PI * r * rЗ іншого файлу в тому ж каталозі:
import mio_modulo
mio_modulo.area_cerchio(5) # 78.53975
from mio_modulo import area_cerchio, PIif __name__ == "__main__":
Коли сценарій виконується безпосередньо, його спеціальна змінна __name__
дорівнює "__main__". Коли той самий файл імпортується як модуль,
__name__ дорівнює назві модуля.
# strumento.py
def fai_qualcosa():
print("lavoro!")
if __name__ == "__main__":
# eseguito solo se lanci `python strumento.py`
# NON viene eseguito se qualcuno importa questo file
fai_qualcosa()Це стандартний зразок для файлів, які можуть бути багаторазовими модуль і виконуваний сценарій.
Пакети: папки модулів
Каталог, що містить файл __init__.py (навіть порожній), стає
імпортований пакет:
mio_pkg/
__init__.py
utenti.py
pagamenti.py
from mio_pkg import utenti
from mio_pkg.utenti import crea_utenteВаша черга
Імпортуйте функцію `sqrt` з модуля `math` (з `from math import sqrt`), потім обчисліть квадратний корінь із 144 і призначте його `r`. Оцініть `r`.
Показати підказку
з математичного імпорту sqrt
Рішення доступне після 3 спроб
Повторна вправа
Імпортуйте модуль `random` з псевдонімом `rnd` (`import random as rnd`), потім встановіть початкове значення 42 за допомогою rnd.seed(42) і обчисліть rnd.randint(1, 100).
Показати підказку
імпортувати випадковий як rnd
Рішення доступне після 3 спроб
Додатковий виклик
Import the `sin` and `cos` functions directly from the `math` module using `from ... import ...`. Calculate the sum of `sin(0)` and `cos(0)`, store it in `trig_sum`, and evaluate it.
Показати підказку
sin(0) дає 0,0, cos(0) дає 1,0. Сума 1,0. Використовуйте з math import sin, cos.
Рішення доступне після 3 спроб