On 2/17/2011 12:27 PM, andrea crotti wrote:

Well no I wasn't really worried about performances.
I just thought that if an external module is really almost never used,
it might make sense to import it only when it's really needed.

If the module is only used in one function and the function may called 0 or 1 times, them yes, it makes some sense. But as soon as the function is called multiple times, or the module is used in more than one function, or someone wants to quickly look at the file to determine its dependencies, then local imports become more trouble than they are worth.

For instance, suppose a new maintainer adds a function to the module that needs something from another module. If all imports are at the top, then it is trivial to see what imports are already made and whether they need modification.

I believe the stdlib used to have some local imports, and might still, for all I know. PEP 8 is is based on long-term experience with the multi-maintainer stdlib as well as some stylistic preferences.

--
Terry Jan Reedy

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to