- update to reflect that base classes can be class types as well as
"classic" class objects
[partially fixes SF bug #453684]
- add note that new-style classes can use descriptors to implement
instance variables in different ways
diff --git a/Doc/ref/ref7.tex b/Doc/ref/ref7.tex
index 346dce0..4770dc9 100644
--- a/Doc/ref/ref7.tex
+++ b/Doc/ref/ref7.tex
@@ -419,7 +419,8 @@
A class definition is an executable statement. It first evaluates the
inheritance list, if present. Each item in the inheritance list
-should evaluate to a class object. The class's suite is then executed
+should evaluate to a class object or class type which allows
+subclassing. The class's suite is then executed
in a new execution frame (see section~\ref{naming}), using a newly
created local namespace and the original global namespace.
(Usually, the suite contains only function definitions.) When the
@@ -433,7 +434,7 @@
\indexii{name}{binding}
\indexii{execution}{frame}
-\strong{Programmer's note:} variables defined in the class definition
+\strong{Programmer's note:} Variables defined in the class definition
are class variables; they are shared by all instances. To define
instance variables, they must be given a value in the
\method{__init__()} method or in another method. Both class and
@@ -441,3 +442,5 @@
``\code{self.name}'', and an instance variable hides a class variable
with the same name when accessed in this way. Class variables with
immutable values can be used as defaults for instance variables.
+For new-style classes, descriptors can be used to create instance
+variables with different implementation details.