Do we still need to inherit from "object" to create new-style classes?
Terry Reedy
tjreedy at udel.edu
Tue Jun 21 13:30:28 EDT 2011
On 6/20/2011 9:26 PM, John Salerno wrote:
> I can't quite seem to find the answer to this anywhere. The book I'm
> reading right now was written for Python 3.1 and doesn't use (object),
> so I'm thinking that was just a way to force new-style classes in 2.x
> and is no longer necessary in 3.x. Is that right?
>
> (The documentation doesn't mention object anymore,
Lib ref 2. builtin functions:
"object()
Return a new featureless object. object is a base for all classes. It
has the methods that are common to all instances of Python classes. This
function does not accept any arguments.
Note
object does not have a __dict__, so you can’t assign arbitrary
attributes to an instance of the object class.
"
> but elsewhere on
> the Python website it says the documentation hasn't been updated for
> new-style classes yet, hence my confusion.)
What page? *It* may need updating ;-).
The core 3.x docs have been updated by removing all reference to
old-style classes and the modifier 'new-style'. The concept 'new-style'
only exists in opposition to 'old-style'. 3.x just has classes, and all
are subclasses of object.
--
Terry Jan Reedy
More information about the Python-list
mailing list