- utilizzo
import modulo
import modulo as alias é possibile assegnare un alias
from modulo import * importa tutti i metodi il modulo e permette di non dover ogni volta indicare il modulo importato quando si usano i metodi
from modulo import metodo importa solo il metodo indicato dl modulo
from modulo import metodo as alias importa solo il metodo indicato dl modulo assegnando un alias
questa forma per importare il modulo sovrascrive il metodo esistente in caso di ambiguità del nome del metodo
esempio: in caso in cui importiamo in modulo con metodo open questo nuovo metodo sostituisce quello già nativo di Python
esempio: importo calendario
import calendar
calendar.prmonth(2020,1)
import calendar as cc con alias cc
cc.prmonth(2020,1) usando l'alias
from calendar import *
print(prmonth(2020,1)) uso diretto del metodo
risultato
visualizza il mese indicato
- creazione
si crea un file con dei metodi e lo si salva nella stessa path del file con il codice o in una delle directory sys.path con estensione .py
il codice che richiama questo modulo personale
import nome_file_senza_estensione
(per verificare le directories sys.path vedi Python - funzioni / metodi - sys)
é possibile importare qualunque file .py indifferentemente
anche quelli con non solo definizioni di funzioni/metodi ma anche altri comandi in generale
per limitare il codice del file importato in modo che esegua funzioni e comandi solo quando eseguito direttamente e non quando viene importato si usa la variabile di default __name__
nel codice del file importato si definiscono i metodi da importare mentre il resto del codice da eseguire quando si esegui il file direttamente lo si mette dentro la verifica della variabile
def metodo(parametri): funzione da importare
....
if __name__ == '__main__': se __name__ = "__main__" vuol dire che il file é eseguito direttamente e quinid non é importato
.... codice da eseguire quando il file viene eseguito direttamente e non importato
esempio: creo un file modulo e lo importo
- file modulo con nome rettangolo.py stessa directory del file con il codice
def area_ret(base,altezza):
x = base*altezza
return x
file codice che importa il modulo
- con import
import rettangolo importo il modulo (senza estensione .py)
print("programma geometria")
print(rettangolo.area_ret(6,4))
- con from
from rettangolo import *
print("programma geometria")
print(area_ret(6,4))
risultato
programma geometria
24