[Python-Dev] Should we do away with unbound methods in Py3k? (original) (raw)

Phillip J. Eby pje at telecommunity.com
Fri Nov 23 14:04:32 CET 2007


At 07:57 PM 11/23/2007 +1300, Greg Ewing wrote:

Phillip J. Eby wrote:

If you are configuring it per-class and accessing it per-instance, and reusing an existing function, you have to make it a staticmethod. I don't understand that. Can you provide an example?

def two_decimal_places(text): # ...

class Field: # doesn't need staticmethod because str isn't a function converter = str

 def __init__(self, title):
     self.title = title

class MoneyField(Field): # does need staticmethod because two_decimal_places # doesn't take a self converter = staticmethod(two_decimal_places)

def get_input(field): return field.converter(raw_input(field.title+': '))

> some subclasser later finds that he wants access to > 'self'? Then he overrides it with a normal method. If that works, I don't see why making the default method a normal method wouldn't work also.

Because sometimes you want to reuse an existing function, as shown above.



More information about the Python-Dev mailing list