首页 > 解决方案 > 请帮我逐行理解这个python代码。我在理解这段代码中的数据流时遇到了问题

问题描述

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

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

标签: python-3.x

解决方案


一个简化的解释:

你的定义:

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给变量,这是一个 lambda(另一个函数定义)t

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


推荐阅读