首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

镜中镜之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
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券