python-3.x - 请帮我逐行理解这个python代码。我在理解这段代码中的数据流时遇到了问题
问题描述
def myfunc(z):
return lambda x:x+1
t=myfunc(1)
print(t(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
给变量,这是一个 lambda(另一个函数定义)t
然后你执行t
参数x
设置为 2 计算结果为 2+1 并返回 3
推荐阅读
- android - 按钮在其顶部重叠视图
- swiftui - 如何使用扩展将相同的 ViewModifier 添加到多个视图和控件
- html - 仅在插入耳机时播放声音的按钮
- vue.js - 单击按钮时切换输入值
- javascript - 深度合并两个json对象反应
- vb.net - 从 With 语句内部启动子程序
- python - 码头工人: pip install -e 。有效,但 pip install -r requirements.txt 不起作用
- android-studio - 错误:运行flutter blue插件时,包androidx.core.app不存在
- c - C++/C中的cont是什么意思?
- javascript - 如何从外部 API 获取输入并通过电子邮件发送