如何在不传递参数或放置全局变量的情况下从其他范围访问变量?

用户2965337

我在 lambda 模块中有一个函数 lambda_handler ,包括其他模块并调用 helloWorld 函数。

在 helloWorld 函数中传递参数或将变量作为全局变量不是一种选择。是否可以从早期范围访问变量?

#--- lambda.py ---   
import my_module 

def lambda_handler(event,context):
    my_module.helloWorld()   

#--- my_module.py ---
def helloWorld():
    local_variable = <something>.context    
深空

使用inspect模块获取调用帧的局部变量:

import inspect


def lambda_handler(event, context):
    helloWorld()

def helloWorld():
    calling_frame = inspect.currentframe().f_back
    print(calling_frame.f_locals['event'])
    print(calling_frame.f_locals['context'])


lambda_handler('an event', 'a context')

输出

an event
a context

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在不使用全局变量的情况下访问lambda中的变量?

如何在不使用帮助程序的情况下访问Meteor模板中的全局变量?

从其他函数访问变量而不创建全局变量

如何在不更改全局变量的情况下更改分配给全局变量值的局部变量?

如何在没有全局变量的情况下将变量从server.R传递到ui.R?

如何在不使用查询参数或全局变量的情况下在 express 中的路由之间传递值?

如何在不指定final的情况下访问变量?

如何在不使用全局变量的情况下从函数中添加2个列表?

如何在不使用全局变量的情况下重构我的工作?

如何在JavaScript中不使用全局变量的情况下进行置换对?

如何在不使用全局变量的情况下从回调中获取数据?

如何在不使用全局变量的情况下构建该程序?

如何在其他模块中访问全局变量?

在不刷新的情况下将变量传递给其他PHP

如何在不牺牲性能的情况下将函数作为参数传递给Julia中的其他函数?

如何在不评估变量的情况下将变量传递给自定义组件?

如何在不使用 .h 中的 extern 的情况下访问其他文件中的静态变量?

如何在不使用全局变量的情况下将第二个向量传递给 C++ STL 中 sort() 函数的第三个参数的函数?

从其他函数访问变量而不使用全局变量

防止在不更改子模块本身的情况下更改被调用子模块的全局变量?

如何在不覆盖父范围的情况下将参数传递给指令?

sapui5中如何在不使用窗口对象的情况下声明全局变量

如何在python中没有全局变量的情况下安全地将代码分为函数

R Shiny-如何在不使用全局变量的情况下动态添加到表中?

如何在不使用全局变量的情况下与multiprocessing.Pool的工作人员共享内存?

如何在不使用全局变量的情况下停止另一个函数中的setInterval

如何在不创建其他类的情况下访问 Dialog 的视图

如何在不访问Java母函数的情况下将参数传递给回调

如何在不使变量在JavaScript中成为全局变量的情况下使用另一个函数中的变量?