Sto lavorando su un grande progetto in python che ha un sacco di importazioni.
- Alcune importazioni sono importazioni di sistema - queste sono facili, di solito solo assolutamente importate.
- Alcune importazioni sono di terze parti. Questi possono avere nomi assoluti lunghi e goffi, ma chiaramente denominati singole funzioni (che richiedono istruzioni
from ... import
). Infine, alcuni hanno alias canonici (import numpy as np
). - Alcune importazioni provengono dal mio pacchetto, che ha 2 livelli di gerarchia: 1 livello superiore contenente sottodirectory con codice.
Dato tutto ciò, lo schema di importazione più leggibile che potrei trovare è il seguente:
import aaa_sys
import bbb_sys
import aaa_third
from bbb_third import bb
import ccc_third as cc
import ddd_third
import .aaa_local
import .bbb_local
import ..aaa_remote.aaa_remote_module
import ..bbb_remote.bbb_remote_module
In altre parole, indipendentemente dal tipo di importazione (assoluta o aliasing o importazione selettiva), imposto alfabeticamente prima il sistema, poi le terze parti e infine le librerie dei pacchetti.
Esiste un approccio accettato dal settore in questo senso? Qualcosa simile all'ordine di importazione delle intestazioni di Google C ++.