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
[email protected]
http://mail.python.org/mailman/listinfo/python-3000
Unsubscribe:
http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com