Na przykład chcę użyć funkcji numpy
'. Mam już załadowaną bibliotekę pand:Czy używanie pakietu importowanego przez inny pakiet jest niepythoniczne, czy też powinienem go zaimportować bezpośrednio?
import pandas as pd
pd.np.isnan(1) #=> False
To działa, ale czy jest jakaś wada? Czy mogę napisać:
import pandas as pd
import numpy as np
np.isnan(1) #=> False
Co to jest dobra praktyka?
myślę, że to faktycznie ma odpowiedź opartą na faktach, pokryte PEP [8] (https://www.python.org/dev/peps/pep-0008/#public-and-internal- interfejsy) i powinny zostać ponownie otwarte. – abarnert
W skrócie: 'np' nie jest udokumentowane w' help (pd) 'lub w sieciowej pomocy Pandy i" Wszystkie nieudokumentowane interfejsy powinny być założone jako wewnętrzne. " Fakt, że Pandas nie ma '__all__', który wyklucza' np' lub 'import numpy jako _np' jest mniejszy niż idealny (choć nie w takim stopniu, jak bym to nazwał błędem), ale nadal nie oznacza, że przypadkowo wyeksponowane nazwy, które nie są udokumentowane, są częścią publicznego interfejsu. – abarnert
Poza tym, co zostało już powiedziane, nie ma wpływu na wydajność ponownego importowania 'numpy', ponieważ Python buforuje import. –