importing a method
Antoon Pardon
apardon at forel.vub.ac.be
Mon Nov 28 08:38:27 EST 2005
Op 2005-11-27, Flavio schreef <fccoelho at gmail.com>:
> hi,
>
> I have an object defined with a number of hardcoded methods.
>
> Class soandso:
> def __init__(self):
> self.this = 0
> self.that = 1
> def meth1(self):
> ...
> def meth2(self):
> ...
> def custom(self):
> pass
>
> I want to allow the user to write a python module that declares a
> function so that myprogram can import it and attribute it to the custom
> method of the soandso object. So far so good, that is an easy thing to
> do in Python.
>
> import usermodule
> a=soandso()
> a.custom = usermodule.function
>
> But, what if the method had to access the self attributes (self.this
> and self.that) of the soandso object?
>
> Can it be done? and if so, what is the most Pythonic way of doing it?
You mean something like this:
>>> class Foo:
... def __init__(self, v):
... self.value = v
...
>>> def show(self):
... print self.value
...
>>> import new
>>> f = Foo(17)
>>> f.show = new.instancemethod(show, f)
>>> f.show()
17
--
Antoon Pardon
More information about the Python-list
mailing list