【发布时间】:2016-02-18 21:09:04
【问题描述】:
我在上一个问题中遇到了这段代码:
a = 1
def func1():
if a == 1:
func2()
def func2():
if a == 1:
func3()
def func3():
func1()
有没有时候使用这样的递归比常规循环更有益?如果是,应该在什么时候使用,约定是什么?
【问题讨论】:
-
这不是真正的recursion,并且这个问题中没有任何内容表明任何类型的“循环”。这个例子简单地划分了命名函数中的一些逻辑控制流语句。这样做的目的通常是为了可读性和易于维护(即,如果底层逻辑发生变化,通过减少代码中需要修改的行数)
-
@DavidZemens 这个例子是相互递归的,所以它代表了一个无限循环。