def f(x):
return x
f = lambda : f(5)
f()
=> Traceback (most recent call last):
File "<input>", line 1, in <module>
File "<input>", line 4, in <lambda>
TypeError: <lambda>() takes 0 positional arguments but 1 was given
I can see intuitively why this doesn't work...it's sort of a circular reference. Specifically what rule in Python is it breaking?