]> granicus.if.org Git - python/commitdiff
Add note about __getattribute__.
authorGuido van Rossum <guido@python.org>
Sat, 22 Sep 2001 17:10:44 +0000 (17:10 +0000)
committerGuido van Rossum <guido@python.org>
Sat, 22 Sep 2001 17:10:44 +0000 (17:10 +0000)
Misc/NEWS

index 47cf1f1d669c5e374b3cadb2aa6a6cc03ba865a5..713eb173c5ba9904992b2614f1ee6d7fa13f7390 100644 (file)
--- 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