Czy istnieje różnica w wydajności między "od importu paczek *" a "paczką importu"?Wydajność między "z importu paczki *" i "paczką importu"
7
A
Odpowiedz
15
Nie, różnica nie jest kwestią wydajności. W obu przypadkach należy przeanalizować cały moduł i wykonać dowolny kod na poziomie modułu. Jedyną różnicą jest w przestrzeniach nazw: w pierwszym, wszystkie nazwy w importowanym module staną się nazwami w bieżącym module; w drugim tylko nazwa pakietu jest zdefiniowana w bieżącym module.
To bardzo rzadko jest dobry powód, aby używać from foo import *
. Albo zaimportuj moduł, albo zaimportuj z niego określone nazwy.
tak, dzięki za odpowiedź. Myślę, że są też pewne powody, aby użyć "z importu paczek *", gdy nazwa paczki może zostać zmieniona. lub jest inny pakiet z tymi samymi funkcjami zastąpi oryginalny pakiet powodujący zmianę wymagań. – Zuckonit
Różnica w wydajności może się kumulować ze wszystkich atrybutów wyszukiwania 'pakiet.foo', kiedy faktycznie używasz' pakietu'. Jeśli jednak to jest problem, zaimportuj konkretne nazwy lub pamięć podręczną, szukając nazw w języku lokalnym. –
Gdy pakiet zmienia nazwę, możesz po prostu "zaimportować nową nazwę jako starą". Jeśli istnieje niebezpieczeństwo częstego przełączania pakietów, od razu "importuj pakiet jako nazwę_pliku". –