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
# 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, evitaUnde Python caută module
Python caută module în sys.path, care include:
- directorul scriptului care rulează,
- directoarele din
PYTHONPATH, - bibliotecile instalate (
site-packages).
import sys
sys.path # lista di directoryCrearea unui modul
Creați mio_modulo.py:
# mio_modulo.py
PI = 3.14159
def area_cerchio(r):
return PI * r * rDin alt fișier din același director:
import mio_modulo
mio_modulo.area_cerchio(5) # 78.53975
from mio_modulo import area_cerchio, PIif __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.
# 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:
mio_pkg/
__init__.py
utenti.py
pagamenti.py
from mio_pkg import utenti
from mio_pkg.utenti import crea_utenteRândul tău
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`.
Afișează indiciu
din import matematică sqrt
Soluție disponibilă după 3 încercări
Exercițiu de revizuire
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).
Afișează indiciu
import aleatoriu ca rnd
Soluție disponibilă după 3 încercări
Provocare suplimentară
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.
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