From 380bad1b4e363f3b7c23677981e19e1fa3aded1b Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Sat, 22 Sep 2001 17:10:44 +0000 Subject: Add note about __getattribute__. --- Misc/NEWS | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Misc/NEWS b/Misc/NEWS index 47cf1f1..713eb17 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -19,6 +19,15 @@ Core constructor, with the same signature as the builtin open() function. file() is now the preferred way to open a file. +- In 2.2a3, *for new-style classes only*, __getattr__ was called for + every attribute access. This was confusing because it differed + significantly from the behavior of classic classes, where it was + only called for missing attributes. Now, __getattr__ is called only + if regular attribute access raises AttributeError; to catch *all* + attribute access, *for new-style classes only*, you can use + __getattribute__. If both are defined, __getattribute__ is called + first, and if it raises AttributeError, __getattr__ is called. + - In 2.2a3, __new__ would only see sequential arguments passed to the type in a constructor call; __init__ would see both sequential and positional arguments. This made no sense whatsoever any more, so -- cgit v0.12