首页 > 后端开发 > Python教程 > 你能检索传递给 Python 函数的原始变量名吗?

你能检索传递给 Python 函数的原始变量名吗?

Mary-Kate Olsen
发布: 2024-10-30 00:33:02
原创
593 人浏览过

Can You Retrieve the Original Variable Name Passed to a Python Function?

检索函数参数中的原始变量名

在Python中,通常不可能获取作为传递的变量的原始变量名函数的参数。这是因为函数调用通过引用而不是名称传递值。

但是,存在使用检查模块的解决方法。虽然由于其复杂性和损坏的可能性,不建议这样做,但它演示了一种可能的解决方案:

<code class="python">import inspect

def foo(a, f, b):
    frame = inspect.currentframe()
    frame = inspect.getouterframes(frame)[1]
    string = inspect.getframeinfo(frame[0]).code_context[0].strip()
    args = string[string.find('(') + 1:-1].split(',')

    names = []
    for i in args:
        if i.find('=') != -1:
            names.append(i.split('=')[1].strip())
        else:
            names.append(i)

    print(names)

def main():
    e = 1
    c = 2
    foo(e, 1000, b=c)

main()</code>
登录后复制

输出:

['e', '1000', 'c']
登录后复制

在此示例中,检查模块用于检索当前帧并检查代码上下文,使我们能够从函数调用中提取参数名称。请注意,此解决方案并不简单,仅应考虑用于教育目的。

以上是你能检索传递给 Python 函数的原始变量名吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板