Python:查找输入函数的变量名称的任何简单方法
要将输入变量的名称打印到函数中,请执行以下操作: 以下是我的意思示例(不可复制):Python:查找输入函数的变量名称的任何简单方法,python,function,variables,Python,Function,Variables,要将输入变量的名称打印到函数中,请执行以下操作: 以下是我的意思示例(不可复制): 一个好方法是传递一个dict var_dict = {'myvar':'sample text'} def printname(var_dict): for key in var_dict: print(key) printname(var_dict) 也许您想使用kwargs。让你的函数有一个参数,前面有一个双星 myvar = "sample text" def printnam
一个好方法是传递一个
dict
var_dict = {'myvar':'sample text'}
def printname(var_dict):
for key in var_dict:
print(key)
printname(var_dict)
也许您想使用
kwargs
。让你的函数有一个参数,前面有一个双星
myvar = "sample text"
def printname(**vars):
print(vars)
printname(myvar=myvar)
>>> {'myvar': 'sample text'}
这是干什么用的?
printname()
在任何意义上都没有收到变量myvar
。它收到一个值,字符串“示例文本”
。该字符串不知道可能引用它的任何变量;毕竟,这样的变量可能是零,也可能不止一个。不起作用。我必须删除**
并执行printname(var_dict)
才能得到结果。对不起,如果我使用x=“sample text”
和printname(myvar=a)
则得到{'myvar':'sample text'}/code>,但我认为OP需要{'x':'sample text'}
但如何仅获取变量名?在这两种情况下,您都会收到一个字典,它是一个键值存储。变量名是键,可以通过.keys()
函数获得,因此vars.keys()
或var_dict.keys()
将为您提供变量名列表,因此您需要对它们进行索引(即variable_names=vars.keys();print(variable_names[0])
将打印myvar
)
myvar = "sample text"
def printname(**vars):
print(vars)
printname(myvar=myvar)
>>> {'myvar': 'sample text'}