如何在函数中返回变量名。例如,如果我有这样的函数:
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我该怎么做呢?
发布于 2018-01-30 02:19:43
不幸的是,您无法“后退”并打印变量的名称。这在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))]发布于 2020-07-10 04:11:17
以下是如何使用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上。
我是这个包的作者。如果您在使用它时有任何问题,请告诉我。
https://stackoverflow.com/questions/48507551
复制相似问题