Why is the difference in execution when we assign a function to variable and directly call function in python
Python壳
1 2 3 4 | def outer(): def inner(a): return a return inner |
在这里,我第一次调用outer(5)时,它给了我错误的说法
1 2 3 | Traceback (most recent call last): File"<stdin>", line 1, in <module> TypeError: outer() takes 0 positional arguments but 1 was given |
当我将该函数赋给变量并将参数传递给变量时,它只是返回一个没有错误的值,即
1 2 | f=outer() f(5) |
它返回5
函数
1 2 | f = outer() f(5) |
您实际上是将定义的函数
我希望这更清楚。尽管如此,我还是不明白为什么您首先要用这种方式定义函数。