A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2017-November/150640.html below:

[Python-Dev] Comment on PEP 562 (Module __getattr__ and __dir__)

[Python-Dev] Comment on PEP 562 (Module __getattr__ and __dir__) [Python-Dev] Comment on PEP 562 (Module __getattr__ and __dir__)Serhiy Storchaka storchaka at gmail.com
Sun Nov 19 15:41:52 EST 2017
19.11.17 22:24, Mark Shannon пише:
> Just one comment. Could the new behaviour of attribute lookup on a 
> module be spelled out more explicitly please?
> 
> 
> I'm guessing it is now something like:
> 
> `module.__getattribute__` is now equivalent to:
> 
> def __getattribute__(mod, name):
>      try:
>          return object.__getattribute__(mod, name)
>      except AttributeError:
>          try:
>              getter = mod.__dict__["__getattr__"]
>          except KeyError:
>              raise AttributeError(f"module has no attribute '{name}'")
>          return getter(name)

I think it is better to describe in the terms of __getattr__.

def ModuleType.__getattr__(mod, name):
     try:
         getter = mod.__dict__["__getattr__"]
     except KeyError:
         raise AttributeError(f"module has no attribute '{name}'")
     return getter(name)

The implementation of ModuleType.__getattribute__ will be not changed 
(it is inherited from the object type).

More information about the Python-Dev mailing list

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4