я наткнулся на этот код в предыдущий вопрос:Каковы преимущества рекурсии по сравнению с обычными циклами?
a = 1
def func1():
if a == 1:
func2()
def func2():
if a == 1:
func3()
def func3():
func1()
Есть ли когда-нибудь время, когда с помощью рекурсии, как это более выгодно, чем обычный цикл? Если да, то когда это следует использовать и что такое конвенция?
Это не действительно [рекурсия] (http://programmers.stackexchange.com/questions/25052/in-plain-english-what-is-recursion), и в этом вопросе нет ничего, что указывало бы любой вид «петли». Этот пример просто сопоставляет некоторые логические операторы потока управления в именованных функциях. Цель этого обычно заключается в удобочитаемости и легкости ремонтопригодности (т. Е. Путем сокращения количества строк в коде, которые необходимо пересмотреть, если логическое изменение основывается) –
@DavidZemens пример является взаимно-рекурсивным, поэтому он представляет собой бесконечный цикл как есть. –