Python 返回变量名而不是它';s值
我正在学习Python中的函数,我想知道如何在代码中返回变量名而不是它的值。Python 返回变量名而不是它';s值,python,Python,我正在学习Python中的函数,我想知道如何在代码中返回变量名而不是它的值。 我知道变量b(分配给局部变量y)具有最小值,但如何在此基础上打印“b”或“y”而不是“-223”?您可以将dict作为参数传递给函数,并将变量名设置为dict键,如下所示: def my_function(x, y, z): mini = min(x,y,z) return mini a = 78*453 b = 654-877 c = 98765*785 print(my_function(a,b
我知道变量b(分配给局部变量y)具有最小值,但如何在此基础上打印“b”或“y”而不是“-223”?您可以将
dict
作为参数传递给函数,并将变量名设置为dict
键,如下所示:
def my_function(x, y, z):
mini = min(x,y,z)
return mini
a = 78*453
b = 654-877
c = 98765*785
print(my_function(a,b,c))
d={'a':78*453,'b':654-877,'c':98765*785}
然后用最小值获取密钥名称,如下所示:
def my_function(x, y, z):
mini = min(x,y,z)
return mini
a = 78*453
b = 654-877
c = 98765*785
print(my_function(a,b,c))
尽管这可能不可取,但由于Python3.8,您可以在f字符串中使用新的
=
。
举个例子:
def my_function(d):
return min(d, key=d.get)
min()。但是min()
也可以将iterable作为参数
def return_value(a):
return a
def return_variable_name_with_value(a):
return f'{a=}'
print(return_value(5))
# Output:
# 5
print(return_variable_name_with_value(5))
# Output:
# a=5
有了这个,你们将得到最小值的位置
您还可以使用更复杂的方法—存储一些元数据,如名称和数据:
data = [2, 3, 1]
print(data.index(min(data))
这里有元组列表,但要找到最小值,必须让最小值知道用于比较的值:
data = [('a', 3), ('b', 0), ('c', 1)]
不建议直接搜索变量名,以后可能会有人重构某些东西,您的代码将被破坏。最好将更多信息存储为数据。my_function()
没有接收任何变量-它只接收数值,与保存它们的变量完全没有连接。它可以返回类似于“first”
,“second”
,“third”
,以指示哪个值最小,但它不可能返回“a”
,“b”
,“c”
,因为它无法知道这些名称。