递归函数(了解)

Posted shawnhuang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了递归函数(了解)相关的知识,希望对你有一定的参考价值。

def func1():
    print(111)
    print("www")
func1()
# 111
# www

import sys
print(sys.getrecursionlimit())  # 1000

def func(n):
    n += 1
    print(n)
    func(n)

func(0)

import sys
sys.setrecursionlimit(10000)

def func(n):
    n += 1
    print(n)
    func(n)

func(0)  # 3220

# 递归函数会在内存空间不断开辟新的内存地址,直到占满内存,因为它是自己调用本身函数

# 递归函数的应用:
import os

listdir 获取当前文件夹内的所有目录和文件,通过list返回
file_list = os.listdir("G:day12 视频以及笔记")
print(file_list)
# [‘.idea‘, ...  ‘递归.py‘]

# 判断是否是目录
for file in file_list:
    # 将上级文件路径与文件拼接,返回文件路径
    file_path = os.path.join("G:day12 视频以及笔记", file)
    # print(file_path)
    if os.path.isdir(file_path):
        print("这是目录", file)
    else:
        print("这是文件", file)

import os

def read(path, n):  #
    file_list = os.listdir(path)

    for file in file_list:
        file_path = os.path.join(path, file)
        if os.path.isdir(file_path):
            print("    " * n, file)
            read(file_path, n+1)
        else:
            print("    " * n, file)

read("G:day13 视频以及笔记", 0)

# 01  深圳骑士计划脱产班3期  day13  昨日内容回顾作业讲解.mp4
# 02  深圳骑士计划脱产班3期  day13  函数总结.mp4
# 03  深圳骑士计划脱产班3期  day13  自定义模块A.mp4
# 04  深圳骑士计划脱产班3期  day13  自定义模块B.mp4
# 05  深圳骑士计划脱产班3期  day13  自定义模块C.mp4
# day13
#     01  今日内容大纲
#     02  作业讲解.py
#     03  自定义模块.py
#     abcdpythonuser.py
#     day11作业及默写.py
#     day12作业及默写.py
#     mima
#     mysql.py
#     orcle.py
#     tbjx.py
#     time.py
#     time1.py
#     __pycache__
#         abcdpythonuser.cpython - 36.pyc
#         mysql.cpython - 36.pyc
#         orcle.cpython - 36.pyc
#         time1.cpython - 36.pyc

 

以上是关于递归函数(了解)的主要内容,如果未能解决你的问题,请参考以下文章

我在 laravel 中的递归函数不调用自己

vue递归组件的一些理解

调用模板化成员函数:帮助我理解另一个 *** 帖子中的代码片段

哈斯克尔。我很困惑这个代码片段是如何工作的

了解递归函数

如何在自定义PyYAML构造函数中处理递归?