Salt la conținutul principal
Modulul 7 · Lecția 4 din 428/36 în curs~10 min
Lecții din modul (4/4)

import și module

Un modul în Python este pur și simplu un fișier .py. Pentru a utiliza codul unui modul dintr-un alt fișier, îl import.

Forme de 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

Unde Python caută module

Python caută module în sys.path, care include:

  1. directorul scriptului care rulează,
  2. directoarele din PYTHONPATH,
  3. bibliotecile instalate (site-packages).
Python
import sys
sys.path     # lista di directory

Crearea unui modul

Creați mio_modulo.py:

Python
# mio_modulo.py
PI = 3.14159

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

Din alt fișier din același director:

Python
import mio_modulo
mio_modulo.area_cerchio(5)   # 78.53975

from mio_modulo import area_cerchio, PI

if __name__ == "__main__":

Când un script este executat direct, variabila sa specială __name__ este egal cu "__main__". Când același fișier este import ca modul, __name__ este egal cu numele modulului.

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()

Acesta este modelul standard pentru fișierele care pot servi atât ca reutilizabile modul și un script executabil.

Pachete: foldere de module

Un director care conține un fișier __init__.py (chiar și unul gol) devine un pachet importabil:

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

Rândul tău

Exercițiu#python.m7.l4.e1
Încercări: 0Se încarcă…

Importați funcția `sqrt` din modulul `math` (cu `from math import sqrt`), apoi calculați rădăcina pătrată a lui 144 și atribuiți-o lui `r`. Evaluează `r`.

Se încarcă editorul...
Afișează indiciu

din import matematică sqrt

Soluție disponibilă după 3 încercări

Exercițiu de revizuire

Exercițiu#python.m7.l4.e2
Încercări: 0Se încarcă…

Importați modulul `random` cu alias `rnd` (`import aleatoriu ca rnd`), apoi setați seed-ul la 42 cu rnd.seed(42) și evaluați rnd.randint(1, 100).

Se încarcă editorul...
Afișează indiciu

import aleatoriu ca rnd

Soluție disponibilă după 3 încercări

Provocare suplimentară

Exercițiu#python.m7.l4.e3
Încercări: 0Se încarcă…

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.

Se încarcă editorul...
Afișează indiciu

sin(0) dă 0,0, cos(0) dă 1,0. Suma este 1,0. Utilizați din matematică import sin, cos.

Soluție disponibilă după 3 încercări