Перейти до основного вмісту
Модуль 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` (`import random as 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. Використовуйте з math import sin, cos.

Рішення доступне після 3 спроб