Уроки модуля (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» («импортировать случайный как 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. Использование из математического импорта греха, потому что.
Решение доступно после 3 попыток