Using getattr to access inherited methods

D

daishi

Hi,

The following code appears to be doing what I'd expect, but
I'm wondering if someone could confirm that there aren't any
"gotchas" hidden in using methods accessed in this way. In
particular, should I be concerned that in the example below,
f is different from g and h when applying f to instances of
test.Sub? For my simple example things appear reasonable, but ...

Thanks,
Daishi

---test.py
class Super:
def __init__(self):
self.fn = None
def applyFn(self, arg):
if self.fn:
return self.fn(arg)
else:
return "No function defined"

class Sub(Super):
def __init__(self):
self.fn = self.aFn
def aFn(self, x):
return x+2

---Python shell
% python
Python 2.2.3+ (#1, Jul 5 2003, 11:04:18)
[GCC 3.3.1 20030626 (Debian prerelease)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,731
Messages
2,569,432
Members
44,836
Latest member
BuyBlissBitesCBD

Latest Threads

Top