|
Dynamic functions and names - Python
In Python, everything is held as an object in a variable - and I do mean everything, even named pieces of code. So that means that you can do some amazing things (or things that would be amazing in other languages) such as set up a named piece of code to perform action "x", the replace it dynamically with a piece of code to perform action "y" or action "z".
# conditional functions
def about():
return "initial"
try:
value = int(raw_input("Please enter a number: "))
if value % 2:
def about():
return "that's odd"
else:
def about():
return "that's even"
except StandardError:
pass
print about()
This piece of code sets up a function called "about" to a default value, then replaces it with two alternative pieces of code if the user enters an odd or even number, leaving it alone if the user doesn't make a valid entry .... so that when the about() function is called, it runs in in one of three different ways ...
earth-wind-and-fire:~/aug06 grahamellis$ python confun
Please enter a number: 5
that's odd
earth-wind-and-fire:~/aug06 grahamellis$ python confun
Please enter a number: 4
that's even
earth-wind-and-fire:~/aug06 grahamellis$ python confun
Please enter a number: ksjksdjkfsdf
initial
earth-wind-and-fire:~/aug06 grahamellis$(written 2006-08-03 06:02:46)
Associated topics are indexed under Y105 - Python - Functions, Modules and Packages
Some other Articles
Pictures of the Vale of PewseyPictures of Avebury, Longleat and DyrhamAn excellent use for a visitor count?PHP - a team member leavesDynamic functions and names - PythonRobert and William WhitworthMy projector has a photo-idHeard, yes. Considered, no. The case for the train.Working on Weekend in Wiltshire and othersAbove the parapit, Well House Manor
|
2259 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46 at 50 posts per page
This is a page archived from The Horse's Mouth at
http://www.wellho.net/horse/ -
the diary and writings of Graham Ellis.
Every attempt was made to provide current information at the time the
page was written, but things do move forward in our business - new software
releases, price changes, new techniques. Please check back via
our main site for current courses,
prices, versions, etc - any mention of a price in "The Horse's Mouth"
cannot be taken as an offer to supply at that price.
Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).
|
|