Considera il seguente codice:
a.py
import os
def print_rand():
print os.urandom()
E un altro modulo:
b.py
from a import *
In questo codice, finisco con una variabile os
che viene importata da a
. Potrei evitarlo con una piccola modifica:
a.py
import os as _os
def print_rand():
print _os.urandom()
Poiché from a import *
non rileva i membri che iniziano con un carattere di sottolineatura, b
non importa il modulo os
da a
.
Ho pensato di farlo in alcuni dei miei codici. Non uso mai import *
, ma logicamente, ha comunque un senso. (Per non parlare che non lavoro da solo sul mio codice.) os
è un membro che a
usa internamente; non è lì per essere esposto al mondo esterno. (Sì, sono consapevole che è possibile accedervi comunque, ma intendo solo nel senso che il trattino basso indica convenzionalmente "privato".)
Questo è qualcosa che dovrei fare? Sarebbe considerato "Pythonic", o è qualcosa che dovrei evitare in particolare? Ha importanza? (Dovrei aver chiesto su StackOverflow? Mi sembra troppo concettuale per me.)