镜中镜之Python递归

(为了不影响大家微信的正常使用,以及不用忍受腾讯视频的长广告

公众号内只提供录播的片段

跳转B站无广告哦~)

>>>课堂笔记

递归:

函数包含了对自身的调用

写递归:

可以解决循环的问题

一定要明确递归的终止条件

循环可以做的事情,递归一定可以

递归可以做的,循环就不一定了

>>>代码示范

1.py

mylist = [1,2,3,[4,5],[6,7,8,[9,10]]]

deffunc(obj):

forvarinobj:#终止条件,for循环结束了

if'list'instr(type(var)):#isinstance()

func(var)

else:

print(var)

returnNone

func(mylist)

2.py

num =

deffunc(a):

ifa

a +=1

print('*'*a)

returnfunc(a)

else:

return

#山上有个老和尚,给小和尚讲故事

#func函数内部包含了对自身的调用

res = func(num)#-> func() -> func() -> func()

#返回值res不会存在

#for while

#RecursionError: maximum recursion depth exceeded while calling a Python object

#递归深度达到上限了

#函数 每次调用 都会产生新的函数副本 占用内存,栈(有自己的大小)

#1000次上下 取决你的内存

#N年吃光你的内存

#递归:

历时文章

今天下午14:30继续直播上课

“学习天地”“直播区”

有不懂处可在文章下方留言会回复的哦~

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180131G0LCYO00?refer=cp_1026

同媒体快讯

相关快讯

扫码关注云+社区