Перейти к основному содержимому
Модуль 7 · Урок 4 из 428/36 в курсе~10 min
Уроки модуля (4/4)

импорт и модули

Модуль в Python — это просто файл .py. Чтобы использовать код модуля из другого файла вы импортируете его.

Формы import

Python
# 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, который включает в себя:

  1. каталог запущенного скрипта,
  2. каталоги в PYTHONPATH,
  3. установленные библиотеки (site-packages).
Python
import sys
sys.path     # lista di directory

Создание модуля

Создайте mio_modulo.py:

Python
# mio_modulo.py
PI = 3.14159

def area_cerchio(r):
    return PI * r * r

Из другого файла в том же каталоге:

Python
import mio_modulo
mio_modulo.area_cerchio(5)   # 78.53975

from mio_modulo import area_cerchio, PI

if __name__ == "__main__":

Когда скрипт выполняется напрямую, его специальная переменная __name__ равно "__main__". Когда тот же файл импортируется как модуль, __name__ соответствует имени модуля.

Python
# 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 (даже пустой), становится импортируемый пакет:

Code
mio_pkg/
    __init__.py
    utenti.py
    pagamenti.py
Python
from mio_pkg import utenti
from mio_pkg.utenti import crea_utente

Ваша очередь

Упражнение#python.m7.l4.e1
Попыток: 0Загрузка…

Импортируйте функцию sqrt из модуля math (с помощью from math import sqrt), затем вычислите квадратный корень из 144 и присвойте его переменной r. Оцените `r`.

Загрузка редактора…
Показать подсказку

из математического импорта sqrt

Решение доступно после 3 попыток

Обзор упражнения

Упражнение#python.m7.l4.e2
Попыток: 0Загрузка…

Импортируйте модуль «random» с псевдонимом «rnd» («импортировать случайный как rnd»), затем установите начальное значение 42 с помощью rnd.seed(42) и вычислите rnd.randint(1, 100).

Загрузка редактора…
Показать подсказку

импортировать случайный файл как rnd

Решение доступно после 3 попыток

Дополнительная задача

Упражнение#python.m7.l4.e3
Попыток: 0Загрузка…

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 попыток