【问题标题】:Getting the name of the input variable from within the function [duplicate]从函数中获取输入变量的名称[重复]
【发布时间】:2019-01-15 13:06:37
【问题描述】:

如果说我有类似的东西:

myList = []

还有一个功能:

def f(a):
    ...

我这样调用函数(其中myList 仍然是List 类型):

f(myList)

那么在这个函数本身中,有没有办法获得传入的变量的名称? (即我可以从函数中获取值"myList" 作为字符串吗?)

【问题讨论】:

  • 尝试 dir() 或 locals() 或 type(a)
  • 您需要将其作为字符串传递给f("myList") 才能以字符串形式获取。您可以更详细地询问您的要求。以便 SO 成员可以提供帮助!

标签: python reflection


【解决方案1】:

这是不可能的。列表的名称包含对对象的引用,而不是相反。

虽然如果你知道列表的内容,你可以这样做:

a = ["kk","jj"]
for key,value in globals().iteritems():
  if type(value) == list and value == ["kk","jj"]:
    print key

【讨论】:

  • 使用if value == a 会检查这两个条件不是更好吗?
猜你喜欢
  • 2018-10-09
  • 1970-01-01
  • 2022-01-12
  • 1970-01-01
  • 1970-01-01
  • 2012-04-05
  • 2011-08-20
  • 1970-01-01
相关资源
最近更新 更多