Hello, On Wed, Apr 2, 2008 at 11:57 PM, Paul Prescod <[EMAIL PROTECTED]> wrote: > Apologies if this has been discussed before. > > But does anyone else find it odd that the types of some things are > classes and the classes of some things are types? > > >>> type(socket.socket()) > <class 'socket.socket'> > >>> type("abc") > <type 'str'> > >>> socket.socket().__class__ > <class 'socket.socket'> > >>> "abc".__class__ > <type 'str'> > > In a recent talk I could only explain this as a historical quirk. As I > understand, it is now possible to make types that behave basically > exactly like classes and classes that behave exactly like types. Is > there any important difference between them anymore?
I can find one difference: - types are written in C - classes are written in Python and there is a difference in behaviour: most types don't have a writable __dict__, and you cannot add members. classes are more flexible. -- Amaury Forgeot d'Arc _______________________________________________ Python-3000 mailing list Python-3000@python.org http://mail.python.org/mailman/listinfo/python-3000 Unsubscribe: http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com