"Terry Carroll" <carr...@tjc.com> wrote in message
I have a pretty basic point of confusion that I'm hoping I can have
explained to me. I have a class in which I want to override a
method, and have my method defined externally to the class definition
invoked instead.
Is there any reason you can'tt override in the uisual way by
inheritance?
It seems to me you are changing the behaviour of a class which
means its now a different kind of thing. So it deserves to be a
new class - a LowerThing or whatever.
### example, continued
def addlower(self, s2):
self.stuff.append(s2.lower()) # add it as lower case
B = Thing()
B.add_the_stuff=addlower
But this doesn't add a method it adds a reference to a function.
methods are not simply functions defined inside a class.
methods need to be bound to the class for the self "magic"
to happen.
[There was a good post by Steven a few weeks ago
that explained the difference. It might be worth searching out]
HTH,
Alan G.
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor