[Python-Dev] PEP 562 (original) (raw)

Koos Zevenhoven k7hoven at gmail.com
Wed Nov 15 16:45:34 EST 2017


On Wed, Nov 15, 2017 at 8:02 PM, Ethan Furman <ethan at stoneleaf.us> wrote:

On 11/15/2017 04:55 AM, Koos Zevenhoven wrote:

On Tue, Nov 14, 2017 at 10:34 PM, Ivan Levkivskyi wrote:

Rationale ========= [...] It would be convenient to simplify this procedure by recognizing _getattr_ defined directly in a module that would act like a normal _getattr_ method >> >> [...] >> Specification ============= >> The _getattr_ function at the module level should accept one argument which is the name of an attribute and return the computed value or raise an AttributeError::

def getattr(name: str) -> Any: ... This function will be called only if name is not found in the module through the normal attribute lookup. The Rationale (quoted in the beginning of this email) easily leaves a different impression of this.​ I don't see how. This is exactly the way normal getattr works. ​Oh sorry, I think I put this email together too quickly. I was writing down a bunch of thoughts I had earlier but hadn't written down.​ I think I was mixing this up in my head with overriding getitem for the module namespace dict and class_getitem from PEP 560, which only gets called if the metaclass doesn't implement getitem (IIRC).

But I did have another thought related to this. I was wondering whether the lack of passing the module to the methods as self would harm future attempts to generalize these ideas.

-- Koos

--



More information about the Python-Dev mailing list