python开发之路---第二章之--函数之其余内容

Posted loveelsa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python开发之路---第二章之--函数之其余内容相关的知识,希望对你有一定的参考价值。

函数的递归

1 def func(x):
2 
3     print(x)
4     func(x+1)
5 
6 func(1)

# 打印结果是1~999,限制递归次数,否则会把栈撑满

 

## 递归的栗子

 1 def func(x):
 2 
 3     v = int(x / 2)
 4     if v != 0:
 5         print (v)
 6     else:
 7         return over
 8     func(v)
 9 
10 a = func(10)
11 
12 print (a)

 

 1 ##阶乘
 2 
 3 def func(x):
 4     if x == 1:
 5         return 1
 6     return x * func(x-1)
 7 
 8 
 9 a = func(10)
10 
11 print (a )

 

 

 

 

## 总结

1、递归必须有一个明确的结束条件,不然死循环后,系统就报错了

2、每次进入新的一层递归时,问题规模需要相应减少

3、递归效率不高,过多递归层次会导致栈溢出

 

以上是关于python开发之路---第二章之--函数之其余内容的主要内容,如果未能解决你的问题,请参考以下文章

python开发之路---第二章之--函数之高阶函数

python开发之路---第二章之--函数的作用域

python开发之路---第二章之--嵌套函数

python开发之路---第二章之--基本函数介绍

python开发之路---第二章之--文件操作

python开发之路-LuffyCity