小白有一个关于python递归的问题 求教
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小白有一个关于python递归的问题 求教相关的知识,希望对你有一定的参考价值。
循环内的第二个 if判断为目录时进入递归,那递归后面的那条移动至上级目录的语句是什么时候开始执行的?实在理解不了
参考技术A 首先,os是标准库的一个模块,而非函数。递归没有什么特殊的地方,只是调用一个函数。巧的是,这个函数就是自己而已。你可以想象“查找文件”这个函数有无数个备份,而每次递归遇到就随便哪来用一个,和普通的函数调用没有什么区别。
所以,返回父目录就是在查找文件函数执行完成后执行的。
把你的手掌伸直,五指分开,从手腕开始沿着肉的边缘走一圈,最终又会回到手腕起点(忽略宽度),哪怕你的手指上又长出若干个小手指,沿着边缘走一圈,总会回到手腕。这就是递归执行的过程,每个手指就是一个递归调用。你可以在纸上画一个树状结构,设置三层目录,按照函数的调用过程来理解。
或者可以这么理解,假如国家要进行人口普查,就可以让每个省把自己的人口普查的结果回报上来,然后加起来就可以了。那么国家在加的时候,必须要等所有省都普查完后才能进行加(相当于你的返回上级目录的操作)。对于每个省来说,类似的,只要让每个市进行人口普查,然后把结果相加即可。每个省也都要等到它的所有市都普查完毕后才能相加。同理,每个市对于每个县也是同样的操作。这就是递归的过程。——但需要注意的是,所有县的普查可以同时进行,但计算机递归却是一个完成后才能进行下一个。和画手指是一样的,必须一个手指画完后才能进行下一个。 参考技术B 等你递归出来的时候再执行,
所以这种递归程序都是深度优先搜索, 一直找到没有东西可以找了,才从上一次调用结束,然后就继续走,就是你说的chdir那句
你可以专门找数据结构的递归来学一下本回答被提问者和网友采纳 参考技术C 就是当i这个文件夹查找完毕了之后啊,
一个函数调用进去了,不执行完毕是不会返回的
直到它返回了,才能接着执行下一句
小白求教,关于openwrt的Makefile
参考技术A 编译openwrt固件并没有想象的那么复杂,我也是个小白,以下内容是我将网络上的编译教程稍微进行了一下整合。因为我发现很多编译教程没有说明如何更改flash相关配置。 安装ubuntu,不赘述。 注意在安装完成后,root不能直接登录,需要设置密码,以上是关于小白有一个关于python递归的问题 求教的主要内容,如果未能解决你的问题,请参考以下文章