Marko Rauhamaa wrote:
Some of these chores are heavier, some of them are lighter. But where I
have used Python, performance hasn't been a bottleneck. It it were, I'd
choose different approaches of implementation.

The point is that creating a class object every time you want a
closure is pointlessly wasteful. There is *no benefit whatsoever*
in doing that. If you think there is, then it's probably because
you're trying to write Java programs in Python.

But now I'm thinking the original Java approach (anonymous inner
classes) is probably the most versatile of them all. A single function
rarely captures behavior. That's the job of an object with its multiple
methods. In in order to create an ad-hoc object in Python, you will need
an ad-hoc class.

An important difference between Python and Java here is that in
Python the class statement is an *executable* statement, whereas
in Java it's just a declaration. So putting a class statement
inside a Python function incurs a large runtime overhead that
you don't get with a Java inner class.

--
Greg
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to