On 28 Jan 2005 15:41:49 GMT, F. Petitjean <[EMAIL PROTECTED]> wrote: > Le Fri, 28 Jan 2005 10:20:30 -0500, Bill Mill a écrit : > > Hello all, > > > > I have a misunderstanding about dynamic class methods. I don't expect > > this behavior: > > > > In [2]: class test: > > ...: def __init__(self, method): > > ...: self.method = method > > ...: self.method() > > ...: > > > > In [3]: def m(self): print self > > ...: > > > > In [4]: test(m) > > --------------------------------------------------------------------------- > > exceptions.TypeError Traceback (most recent > > call > > last) > > > > /cygdrive/c/Documents and Settings/Wmill/<console> > > > > /cygdrive/c/Documents and Settings/Wmill/<console> in __init__(self, method) > > > > TypeError: m() takes exactly 1 argument (0 given) > > ----------------------------------------------------------------------------- > > > > Why doesn't m get the implicit self parameter in the self.method() > > call? How would I make it a proper member of the class, so that a > > self.method() call would work with the above "m" function? > The "def m(self):" was not properly indented. So here, "m" is a module level > function, not a method of your class.
I know this; I should have been clearer. I want to define a function outside of a class, then pass it to a class and make it a method of that class. > > > > Peace > > Bill Mill > > bill.mill at gmail.com > -- > http://mail.python.org/mailman/listinfo/python-list > -- http://mail.python.org/mailman/listinfo/python-list