python - 变量如何在函数内部取值而不在任何地方声明它
问题描述
我有一个小型 python 脚本,其中 lambda 函数(位于另一个函数内部)中的变量不会从某个地方获取任何值,但脚本仍然有效,我不明白为什么。下面我有我的代码,a 是神秘的变量。我知道出于某种原因它有效,但我不知道为什么。
def myfunc(n):
return lambda a : a * n <== a variable takes value from where???
mydoubler = myfunc(2)
print(mydoubler(11))
解决方案
您在这里声明了变量:
def myfunc(n):
return lambda a : a * n
a
是 lambda 的参数名称
lambda a
这相当于:
def some_name(a):
...
唯一的区别是它lambda
就像一个没有名字的函数。匿名的。
推荐阅读
- postgresql - 为什么 docker-entrypoint-initdb.d 中的脚本在数据库开始侦听导致 pg_restore 失败的连接之前运行?
- sql - 选择案例中多个组中用户的所有列
- javascript - 通过链接 Ng-Select(s) 过滤数据
- python - 如何检查我的 python 脚本是否以某种方式运行(使用某种调试器)
- vue.js - 在 VueJS 中弹出搜索结果页面
- python - 使用python的角谱方法
- swift - 如何在隐藏 NavBar 时禁用重新加载 CollectionView 的动画
- react-native - 在android应用程序中更新联系人列表的问题
- migration - 将多个“.tfstate”和“.tfvars”文件迁移到“s3”后端
- javascript - EJS:我怎样才能让我的内容占据整个屏幕(例如宽度:100%)?