Wenn Sie b
von Modul A
verwenden möchten:
Wenn Sie es umbenennen möchten:
%Vor%Wenn Sie mehrere Objekte benötigen:
%Vor%Wenn Sie alles brauchen:
%Vor% Über die Option import *
lesen Sie bitte diesen Beitrag .
Es ist ziemlich kurz, aber tl; dr: Importieren Sie nicht alles von einem Modul nach from A import *
.
Wenn Sie wirklich alles aus dem Modul oder einen sehr großen Teil seines Inhalts benötigen, bevorzugen Sie den normalen Import, möglicherweise mit Umbenennung:
Diese Frage wurde bereits beantwortet, aber eine Sache, die bei der Verwendung von Importen zu beachten ist, ist
%Vor%und
%Vor% Sind absolut identisch, was Speicher und Leistung betrifft. In beiden Fällen wird module
kompiliert und in sys.modules
geladen. Der einzige Unterschied ist, was in deinen Namensraum gebracht wird. Im ersten Fall ist es foo
. Im zweiten Fall ist es module
.
Da die anderen Antworten nicht erklären, warum die Verwendung von from module import *
schlecht ist, ist dies der Grund: *
importiert alles zur direkten Verwendung in Ihren Namespace. Dies ist keine gute Idee, es sei denn Sie wissen, was Sie tun . Namenskonflikte sind definitiv möglich, besonders beim Importieren mehrerer großer Module.
Das mag eine Frage der Meinung sein, aber ich glaube, import module
gefolgt von module.foo()
ist sicherer und gibt dem Leser eine bessere Vorstellung von dieser Methode / Attribut, woher sie kam und was sie tut. Lesbarkeit ist wichtig!
Tags und Links python