Adding method to a class on the fly

John Henry john106henry at hotmail.com
Fri Jun 22 15:02:49 EDT 2007


Hi list,

I have a need to create class methods on the fly.  For example, if I
do:

class Dummy:
    def __init__(self):
        exec '''def method_dynamic(self):\n\treturn
self.method_static("it's me")'''
        return

    def method_static(self, text):
        print text
        return

I like that to be the same as:

class Dummy:
    def __init__(self):
        return

    def method_dynamic(self):
        return self.method_static("it's me")

    def method_static(self, text):
        print text
        return

so that I can do:

dum=Dummy.method_dynamic()

and see "it's me" printed.

Can that be done?

Thanks,




More information about the Python-list mailing list