我只是在玩一个会改变自身并且无法避免无限递归的python函数。在某个时候,我做了这个:
def mitsos(a):
global mitsos
def takis(f):
def w(*args, **kargs):
ret = f(*args, **kargs)
return ret + 1
return w
mitsos = takis(mitsos)
return a
这出乎意料地奏效了。如果我多次调用 mitsos(1),结果总是比前一个结果高 1。为什么它不会陷入无限递归呢?