[Python-Dev] Comment on PEP 562 (Module getattr and dir) (original) (raw)

Steven D'Aprano steve at pearwood.info
Sun Nov 19 21:34:09 EST 2017


On Sun, Nov 19, 2017 at 05:34:35PM -0800, Guido van Rossum wrote:

On Sun, Nov 19, 2017 at 4:57 PM, Steven D'Aprano <steve at pearwood.info> wrote:

> A minor point: this should(?) be written in terms of the public > interface for accessing namespaces, namely: > > getter = vars(mod)["getattr"]

Should it? The PEP is not proposing anything for other namespaces. What difference do you envision this way of specifying it would make?

I don't know if it should -- that's why I included the question mark.

But my idea is that dict is the implementation and vars() is the interface to dir, and we should prefer using the interface rather than the implementation unless there's a good reason not to.

(I'm not talking here about changing the actual name lookup code to go through vars(). I'm just talking about how we write the equivalent recipe.)

Its not a big deal either way, dict is already heavily used and vars() poorly known. Call it a matter of taste, if you like, but in my opinion the fewer times we directly reference dunders, the better.

-- Steve



More information about the Python-Dev mailing list