python - Why do metaclass have a type? -


i've little bit test understand metaclass in python.

class test(object):     pass   print test.__class__ print test.__class__.__class__ print test.__class__.__class__.__class__ 

all of result same type. each of address not same
can't understand why metaclass has metaclass recursively.
explain me please?

actually, addresses same:

>>> id(test.__class__) 6384576 >>> id(test.__class__.__class__) 6384576 >>> id(test.__class__.__class__.__class__) 6384576 

everything object in python, , each object must have class (it should belong type). can access class/type reference __class__ attribute, e.g.:

>>> (1).__class__ <type 'int'> 

everything includes classes itself, of class/type called type:

>>> (1).__class__.__class__ <type 'type'> 

in same time type 'type'> object , should reference class/type. since kind of special object, __class__ attribute refers itself:

>>> (1).__class__.__class__.__class__ (1).__class__.__class__ true 

Comments

Popular posts from this blog

basic authentication with http post params android -

vb.net - Virtual Keyboard commands -

css - Firefox for ubuntu renders wrong colors -