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


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

#I 在理解此代码中的数据流时遇到问题。

简化说明:

您的定义:

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

最新更新