gpt4 book ai didi

python - 如何获取传递给函数的变量的原始变量名

转载 作者:IT老高 更新时间:2023-10-28 20:37:29 27 4
gpt4 key购买 nike

是否可以获取传递给函数的变量的原始变量名?例如

foobar = "foo"

def func(var):
print var.origname

这样:

func(foobar)

返回:

>>foobar

编辑:

我所做的只是创建一个类似的函数:

def log(soup):
f = open(varname+'.html', 'w')
print >>f, soup.prettify()
f.close()

.. 并让函数根据传递给它的变量的名称生成文件名。

我想如果不可能的话,我只需要每次将变量和变量名作为字符串传递。

最佳答案

编辑:为了明确起见,我完全不建议使用它,它会损坏,一团糟,对你没有任何帮助,但它可以用于娱乐/教育目的。

你可以使用 inspect 模块,我不建议这样做,但你可以这样做...

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()

输出:

['e', '1000', 'c']

关于python - 如何获取传递给函数的变量的原始变量名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2749796/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com