我想知道传递给函数时局部变量名是什么.我不确定这是否可行.让我们考虑这个例子:
功能定义:
def show(x):
print(x)
Run Code Online (Sandbox Code Playgroud)
用法:
a = 10
show(a)
Run Code Online (Sandbox Code Playgroud)
这打印10.但我喜欢打印"a = 10".这在python中可能吗?
不,您无法知道用于将值传递给函数的局部变量的名称是什么。
这无论如何都是一个不可能完成的任务。以下示例中的变量名称是什么?
arguments = ('a', 1, 10)
somefunction(*(arguments[:2] + [10]))
Run Code Online (Sandbox Code Playgroud)
这里我们传入 3 个参数,其中两个取自我们之前定义的元组,还有一个文字值,所有这三个参数都是使用变量参数列表语法传入的。
不完全是这样的.但是,您可以实现类似的功能:
def show(**kwargs):
print(', '.join('%s=%s' % kv for kv in kwargs.items()))
show(a=20)
Run Code Online (Sandbox Code Playgroud)