Python関数再帰的呼び出しによる原理例解析の実現


関数の再帰的呼び出し:
は、関数ネスト呼び出しの特別な形式です。
具体的には、
関数を呼び出している間に、直接または間接的に自分自身に呼び出しました。

#       
def func():
  print('  func')
  func()

func()
#               , Python       ,        1000 .

#       
def f1():
  print('  f1')
  f2()
  
def f2():
  print('  f1')
  f1()

f1()
#             ,f1-->f2-->f1-->f2-->f1。。。       
再帰は無限に呼び出されてはならず、ある条件を満たして再帰を終了しなければならない。

#        0-9
def f1(n):
  if n == 10:
    return
  print(n)
  n += 1
  f1(n)
f1(0)
# 0 1 2 3 4 5 6 7 8 9 
再帰的な二つの段階:
1、トレース:ワンフロア呼び出し
2、配達推論:ある条件を満たして再帰的な呼び出しを終了し、その後、層ごとに戻る。
再帰的なアプリケーション:
たとえば、ネストされた多層リスト内のすべての要素を印刷します。

li = [1,2,[3,4,[5,6,[7,8],9]]]
def func(l):
  for i in l:
    if type(i) is list:
      func(i)
    else:
      print(i)

func(li)
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。