python - 分配给变量的函数?
问题描述
def f(x):
def g():
x = 'abc'
print ('x =', x)
def h():
z = x
print ('z =', z)
x = x + 1
print ('x =', x)
h()
g()
print ('x =', x)
return g
x = 3
z = f(x)
z()
发生这种情况时, f() 的返回值被分配给变量 z 它调用函数 f() 我到目前为止了解但 z() 如何直接返回 f 返回的值?你能简要解释一下吗?
解决方案
您将调用的返回值分配给f()
to z
。您不分配f
给z
.
所以调用z()
只会执行返回的内部g
函数 - 而不是整个f
.
在z = f()
你得到打印输出,f
然后g
作为函数返回。在连续调用z()
您时直接执行内部g
函数。
推荐阅读
- c - 如何将标准输入和标准输出附加到 call_usermodehelper 调用的用户进程
- html - 4 个响应式 div 在选项卡和移动设备上未正确显示
- python - Tensorflow/Spyder 重置没有错误
- ruby-on-rails - Elasticsearch-model - 尝试引用父数据以添加到索引
- url - 如何从网站获取准确的 URL?
- r - 为组中的每个行组合创建一个新数据集
- javascript - 如何加载和卸载(删除)css 和 javascript 导入/文件?
- arrays - 如何在状态 React 中正确初始化数组
- c3ai-datalake - 如何在 C3.ai COVID-19 数据湖中获取子序列的隔离源和序列?
- spring - 取消http请求后Spring rest控制器方法是否继续执行