[Baypiggies] closures vs. objects
Shannon -jj Behrens
jjinux at gmail.com
Sat Apr 25 09:48:07 CEST 2009
After the meeting, Jon said it would have been good if I showed how
closures compared to objects.
Here's a closure:
print "Hello,", name
jj_greeter = greeter('JJ')
Here's how to do the same thing, but with an object:
def __init__(self, name):
self._name = name
print "Hello,", self._name
mike_greeter = Greeter('Mike')
Perhaps the biggest difference is that with a class, you can have as
many methods as you want (in this class, I just have __call__), but
with a closure, you don't have to explicitly store the name anywhere
(the closure does it for you).
I use a mix of both techniques.
In this life we cannot do great things. We can only do small things
with great love. -- Mother Teresa
More information about the Baypiggies