Several months ago, I posted a question regarding how to create a list of 
functions.  I quickly solved the problem on my own, but I am just now getting 
around to sharing my solution.  It was actually quite simple, and also quite 
useful for the problem I had at hand.  Below is an example of one way to do 
this.  There are actually some other solutions.

This solution is based on the fact that Python functions are first-class 
objects, and therefore enable one to emulate functional programming.   

Consider that we might need a list of buttons, each of which can behave 
differently based on a parameter list.   First, we define three button 
functions with a parameter.  Then, we create a list of those functions. 

The tricky part is how we formulate the actual function call.   I demonstrate 
this in the last two lines of the code below.   

I realize that this seems trivial to many experience Pythonistas.  But it might 
prove useful for those who are relative newcomers to the language.  In any 
case, I hope someone can find it helpful.  

>>> def button1(number):
        print ('button1 = ', number)  ## define the buttons
>>> def button2(number):
        print ('button2 = ', number)
>>> def button3(number):
        print ('button3 = ', number)    
>>> buttonList = [button1, button2, button3]  ## create the list
>>>
>>> buttonList [1] (25)          ## using positional association
button2 =  25                    
>>>buttonList [0] (number = 78)  ## using named association
button1 = 78
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to