请帮助我逐行理解这个 python 代码。我在理解此代码中的数据流时遇到问题

时间:2021-03-25 03:21:44

标签: python-3.x

def myfunc(z):
    return lambda x:x+1
t=myfunc(1)
print(t(2))

#我在理解这段代码中的数据流时遇到了问题。

1 个答案:

答案 0 :(得分:2)

简单解释:

您的定义:

def myfunc(z):
    return lambda x:x+1
t=myfunc(1)
print(t(2))

与(因为您不在任何地方使用 z)相同:

def myfunc():
    return lambda x:x+1

t=myfunc()
print(t(2))

相当于:

t = lambda x:x+1
print(t(2))

相当于:

def t(x):
   return x+1

print(t(2))

以及它的作用,您将 myfunc 的结果分配给变量 t

,这是一个 lambda(另一个函数定义)

然后执行 t,参数 x 设置为 2 计算结果为 2+1 并返回 3