are user defined classes hashable?

Aahz aahz at pythoncraft.com
Mon Jul 20 22:53:08 EDT 2009


In article <373d6c69-6965-4a88-bdd2-8028ef850bf8 at k6g2000yqn.googlegroups.com>,
Hyuga  <hyugaricdeau at gmail.com> wrote:
>
>Regardless, Nicolas's example can be applied to the class too:
>
>>>> class Foo(object):
>	pass
>
>>>> hash(Foo)
>11443104
>>>> id(Foo)
>11443104
>
>class objects are just objects of type 'type'.

Not quite.  They certainly default that way, but changing the metaclass
changes a class's type::

class M(type): 
    pass

class C(object): 
    pass

class C2(object):
    __metaclass__ = M

print type(C)
print type(C2)
-- 
Aahz (aahz at pythoncraft.com)           <*>         http://www.pythoncraft.com/

"The volume of a pizza of thickness 'a' and radius 'z' is
given by pi*z*z*a"



More information about the Python-list mailing list