Steven D'Aprano wrote: > On Tue, 25 Mar 2008 14:17:16 -0600, j vickroy wrote: > >> As per your suggestion, I tried looking at include/code.h and >> include/funcobject.h (my MS Windows distribution does not appear to >> contain .c files). However, since I'm not a C programmer, I did not >> find the .h files all that helpful. > > I'm hardly surprised. The naivety of those who insist that the "best way > to understand how new.function and new.code work" is to look at the C > source code for object is amusing. Not everybody reads C. This is a > Python group, and surely the best way would be to see some good examples > using *Python*. > > >> What I failed to make clear in my original posting is that the >> functions must be created dynamically using information in a *record* >> as the code iterates over all *records*. So, I can not pre-define the >> functions and then simply select the desired one at run-time. > > Here's an example that might help. > > > class MyClass(object): > pass > > records = ["spam", "ham"] > for record in records: > # define a new function > def f(n): > return (record + " ")*n > # create a new instance > instance = MyClass() > # and dynamically add a method to it > setattr(instance, 'execute', f) > instance.execute(5) > > >
Gabriel, Steven, Thanks for taking the time to respond with such clear examples. All I can say is: "when will I ever learn **everything** in Python is an object -- including functions"! I had a suspicion I was making a simple task complicated. -- jv -- http://mail.python.org/mailman/listinfo/python-list