python improvements (Was: Re: New Language)

Bernhard Herzog herzog at
Tue May 16 18:46:52 EDT 2000

Moshe Zadka <moshez at> writes:

> On 16 May 2000, Bernhard Herzog wrote:
> > In that situation, real class methods would have been useful and cleaner
> > than any other solution. In the end, I fell back to normal class
> > attributes that are computed at class definition time because it works
> > well enough for the time being.
> Let me reiterate the way to get class methods:
> class Function:
> 	def __init__(self, func):
> 		self.func = func
> 	def __call__(self, *args, **kw):
> 		return apply(self.func, args, kw)
> class SomeClass:
> 	def class_method(a, b, c):
> 		return a+b+c
> 	class_method = Function(class_method)
> At the addition of a constant overhead (the "Function" definition), and
> one-line per class method (which you'd need anyway, to signal it is a
> class method), you get a no-brainer solution.

Yes this is indeed a very low overhead implementation of class methods.
It even treats private variables properly.

Perhaps I'll actually use this when I eventually get back to my code.

Bernhard Herzog   | Sketch, a drawing program for Unix
herzog at  |

More information about the Python-list mailing list