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 <st...@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
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to