On Mon, Feb 14, 2011 at 05:27:44PM +0100, Arve Knudsen wrote:
> Does it matter in practice how many times a module gets imported locally to a
> function though? I find that in certain cases I have to defer importing of
> certain modules until they are used, so it's not just a matter of style. I
> don't think pylint should by default warn about local imports, that's just way
> too strict unless there's some good reason I'm unaware of.
> 
Someone else already posted the stylistic reasons not to do this (and for
those alone, I think pylint is right to have a message for this).  There's
also an efficiency reason.  If you have a function that gets called
repeatedly and it's doing a reimport, the import machinery does cause a slow
down (even though python discovers that the module has already been imported
and skips some of the steps.)

I recently had to optimize a piece of code where I was doing a local import
because the import had a circular dependency.  I found the circular imports
section of this page:
  http://effbot.org/zone/import-confusion.htm

to be helpful in showing me how to get around this issue without a local
import.

-Toshio

Attachment: pgp6DrsPfLUQP.pgp
Description: PGP signature

_______________________________________________
Python-Projects mailing list
[email protected]
http://lists.logilab.org/mailman/listinfo/python-projects

Reply via email to