marekw2143 wrote:
Hi,I have one class (A) that has defined method createVars. I would like to add that method to class B The code looks like this: class A(object): def createVars(self): self.v1 = 1 self.v2 = 3 pass class B(object): pass I don't want to use inheritance (because class A has many methods defined that class B doesn't need). When I try the folloowing: B.createVars = C.createVars
you meant A.createVars
B().createVars() then the following error occurs: Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unbound method createVars() must be called with A instance as first argument (got nothing instead)
In 3.1, your example works fine. The difference is that in 2.x, B.createVars is a method wrapperthat wraps the function, whereas in 3.1, it is the function itself. For 2.x, you need to extract the function from the wrapper. It is im_func or something like that. Use dir(B.createVars) to check for sure.
How can I solve this problem?
Terry Jan Reedy -- http://mail.python.org/mailman/listinfo/python-list
