我通过以下链接学习了python中装饰器的概念:
http://www.python-course.eu/python3_decorators.php
我对其中的以下代码片段有一个基本的疑问:
def f(x):
def g(y):
return y + x + 3
return g
nf1 = f(1)
nf2 = f(3)
print(nf1(1))
print(nf2(1))
在本页中,最后两行的输出分别为“5”和“7”。 但正如我所看到的,我们只传递'x'的值,它从哪里得到'y'的值?它如何赋值给“Y”来计算输出?你知道吗
函数
f
创建并返回一个名为g
的新函数。你知道吗因此,这段代码通过传递
x=1
和x=3
来创建两个g
函数:然后用参数
y=1
调用g
函数(存储在nf1
和nf2
):或许(或许不是)如果他们写下同样的话,会更容易理解:
相关问题 更多 >
编程相关推荐