On 04/05/2021 14:39, Paul Bryan wrote:
A problem I sense here is the fact that the interpreter would always
need to attempt to resolve "A.B.C" as getattr(getattr(A, "B"), "C")
and getattr(A, "B.C"). Since the proxy would be there to serve up the
namespace's attributes, why not just let it and do away with "B.C" in
A.__dict__? What will the performance costs be of attempting to get an
attribute in two calls instead of one?
[snip]
So, if in a nested scenario, A.B.C.D, I'm trying to understand the
combination of getattr calls to resolve D. Would it just still be two
attempts, getattr(A, "B.C.D") and getattr(getattr(getattr(A, "B"),
"C"), "D")? If it were to become a Cartesian product of calls,
there'll likely be a problem. 🤔️
I don't pretend to fully understand the proposal and how it would be
implemented, but IMO adding an overhead (not to mention more complicated
semantics) to *every* chained attribute lookup is enough to kill the
proposal, given that it seems to have relatively slight benefits.
Best wishes
Rob Cliffe
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at
https://mail.python.org/archives/list/python-ideas@python.org/message/4FVAFKULIYLMIBJZIZIJZCKIYSTZROWB/
Code of Conduct: http://python.org/psf/codeofconduct/