如何在函数中返回变量名称。例如。如果我有这个功能:
def mul(a,b):
return a*b
a = mul(1,2); a
b = mul(1,3); b
c = mul(1,4); c
这将返回:
2
3
4
我希望它返回:
a = 2
b = 3
c = 4
我该怎么做?
答案 0 :(得分:3)
不幸的是,你无法向往"倒退"并打印变量的名称。这在this StackOverflow post中有更详细的解释。
您可以做的是将变量名称放在字典中。
dict = {"a":mul(1,2), "b":mul(1,3), "c":mul(1,4)}
从那里你可以遍历键和值并打印出来。
for k, v in dict.items():
print(str(k) + " = " + str(v))
或者,如果您希望对值进行排序,则可以将值放入元组列表中,然后在for循环中再次遍历它们。
lst = [("a", mul(1,2)), ("b", mul(1,3)), ("c",mul(1,4))]
答案 1 :(得分:1)
以下是使用python-varname
软件包的方法:
from varname import varname
def mul(a, b):
var = varname()
return f"{var} = {a*b}"
a = mul(1,2)
b = mul(1,3)
c = mul(1,4)
print(a) # 'a = 2'
print(b) # 'b = 2'
print(c) # 'c = 2'
该程序包托管在https://github.com/pwwang/python-varname上。
我是包裹的作者。如果您有任何疑问,请告诉我。