|
Recursion in Python
I'm not a great advocate of recursion - pieces of code that call themselves; most of the examples that I see in books are "training examples" that are over complex and achieve results that could much more easily be achieved by alternative means. I'm not telling you NEVER to use recursion - sometimes (such as when you're traversing XML, for example) it does work very well.
Anyway - one of the dangers of code that calls itself is that it will get into an endless loop and so there will be a limit to the number of levels deep you can go. That defaults to 1000 in Python, but you can increase it - there's a setrecursionlimit method in the sys class. Here's an example of it in use:
# Python defaults to a recursion limit of 1000 levels, which
# you can change - see this example. Beware - it's said
# that the standard windows build has a hard limit of 2000
# that you cannot exceed!
import sys
sys.setrecursionlimit(1500)
def zz(x):
if x < 1: return 0
result = zz(x-1) + x
return result
print zz(1200)
Without that extra line, you get the error message
RuntimeError: maximum recursion depth exceeded
when you run the code (written 2006-11-02 01:10:25)
Associated topics are indexed under Y105 - Python - Functions, Modules and Packages
Some other Articles
Driving customers awayPaging through hundreds of entriesA practical example of rolesPython - A list of methodsRecursion in PythonLetter HomeHelping the miles passPython is like a narrowboatAnd so to InvernessBrowser -> httpd -> Tomcat -> MySQL. Restarting.
|
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).
|
|