I have a file, myfile.py
, which imports Class1
from file.py
and file.py
contains imports to different classes in fi
Best practice is to import every module that defines identifiers you need, and use those identifiers as qualified by the module's name; I recommend using from
only when what you're importing is a module from within a package. The question has often been discussed on SO.
Importing a module, say moda
, from many modules (say modb
, modc
, modd
, ...) that need one or more of the identifiers moda
defines, does not slow you down: moda
's bytecode is loaded (and possibly build from its sources, if needed) only once, the first time moda
is imported anywhere, then all other imports of the module use a fast path involving a cache (a dict mapping module names to module objects that is accessible as sys.modules
in case of need... if you first import sys
, of course!-).