Nick Coghlan wrote:

As Hrvoje has pointed out, 'sys' is part of the internal interpreter
machinery - it's there as soon as the interpreter starts. The import
call for it just grabs it out of the module cache and creates a
reference to it in the current namespace.
I understand that, but

Explicit is better than implicit.

--> non-explicit import sys and __import__(modname) to access

    sys.modules[modname]

Simple is better than complex.

--> three lines for a common use case instead of one

Readability counts.

--> why is sys imported in this WSGI app (that shouldn't generally

    touch any of the common sys.argv, sys.stdout etc)?!

    (500 lines later) aha, to access sys.modules

There should be one-- and preferably only one --obvious way to do it.

--> should I use the 3-line idiom? should I use the getattr() idiom?

   Ideally, __import__() should support the only obvious way.

In short, the three-line version doesn't convey the intent in an obvious way 
and does more work than is necessary.

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to