On Jun 22, 5:17 pm, 7stud <[EMAIL PROTECTED]> wrote: > On Jun 22, 2:24 pm, askel <[EMAIL PROTECTED]> wrote: > > > class Dummy: > > def method(self, arg): > > print arg > > > def method2(self, arg): > > self.method(arg) > > > Dummy.method2 = method2 > > Dummy.method2('Hello, world!') > > Traceback (most recent call last): > File "test1.py", line 8, in ? > Dummy.method2('Hello, world!') > TypeError: unbound method method2() must be called with Dummy instance > as first argument (got str instance > instead) > > > > >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. > > When are you able to see that?
there is no way to call instance method from static one. but in your case you can make something like: class Dummy: @staticmethod def method(arg): print arg def method2(arg): Dummy.method(arg) Dummy.method2 = staticmethod(method2) Dummy.method2('Hello, world!') - OR - def method2(cls, arg): cls.method(arg) Dummy.method2 = classmethod(method2) Dummy.method2('Hello, world!') -- http://mail.python.org/mailman/listinfo/python-list