This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author rhettinger
Recipients msolnica, rhettinger, uriyyo
Date 2021-08-31.22:46:04
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1630449964.68.0.0378824989312.issue45064@roundup.psfhosted.org>
In-reply-to
Content
To get a better insight into what is going on, see
https://docs.python.org/3/howto/descriptor.html#invocation-from-an-instance
  
The relevant text is, "So if __getattr__() exists, it is called whenever __getattribute__() raises AttributeError (either directly or in one of the descriptor calls)."

If needed, you can bypass the __getattr__ hook by calling object.__getattribute__ directly:

    >>> object.__getattribute__(C(), 'test')
    Traceback (most recent call last):
      File "<pyshell#6>", line 1, in <module>
      object.__getattribute__(c, 'test')
      File "/Users/raymond/Documents/tmp14.py", line 26, in __get__
        raise AttributeError("Python bug?")
    AttributeError: Python bug?
History
Date User Action Args
2021-08-31 22:46:04rhettingersetrecipients: + rhettinger, uriyyo, msolnica
2021-08-31 22:46:04rhettingersetmessageid: <1630449964.68.0.0378824989312.issue45064@roundup.psfhosted.org>
2021-08-31 22:46:04rhettingerlinkissue45064 messages
2021-08-31 22:46:04rhettingercreate