metaclasses are princess or: how to teach metaclasses to children ?

Michele Simionato mis6 at pitt.edu
Mon Dec 16 11:51:47 EST 2002


class Princess(type):
    def __str__(cls):
         return "I am a %s %s" % (cls.attributes,cls.__name__)
    def kiss(cls):
        if cls.attributes=="small, ugly, poor":
            cls.attributes="tall, beautiful, rich"
        return cls
    kiss=staticmethod(kiss)

class Frog(object):
    __metaclass__=Princess
    attributes="small, ugly, poor"

print Frog

Prince=Princess.kiss(Frog)

print Prince

#################################

In its heart, a Frog is always a Frog.


                              M.



More information about the Python-list mailing list