码迷,mamicode.com
首页 > 编程语言 > 详细

python笔记七(递归函数)

时间:2017-12-12 23:59:26      阅读:384      评论:0      收藏:0      [点我收藏+]

标签:else   运算   表示   python笔记   gpo   进入   return   blog   数据   

在介绍递归函数之前,我们先介绍以下递归函数的使用有以下特征:

1.递归函数就是函数在函数体内部调用本身

2.递归函数的运算规模要不断减小,这样才是可以运算的

3.递归的层数不要超过999,因为函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。调用层数过多就会导致栈溢出。

4.理论上所有的递归函数都可以用循环来表示,但是递归更形象易于理解(虽然我更习惯使用循环~~~~)

>>> def factorial(n):
...     if n ==1:
...         return 1
...     else:
...         return n*factorial(n-1)
...
>>> factorial(5)
120

以上代码我们通过循环来实现~~~~~

>>> def factorial(n):
...    fac=1
...    while n>1:
...        fac=fac*n
...        n-=1
...    return fac
>>> factorial(5)
120

 

python笔记七(递归函数)

标签:else   运算   表示   python笔记   gpo   进入   return   blog   数据   

原文地址:http://www.cnblogs.com/nadech/p/8029989.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!