有没有办法在 Python 中获取对象的名称?例如:
my_list = [x, y, z] # x, y, z have been previously defined
for bla in my_list:
print "handling object ", name(bla) # <--- what would go instead of `name`?
# do something to bla
编辑:一些上下文:
我实际上在做的是创建一个我可以通过命令行指定的函数列表。
我有:
def fun1:
pass
def fun2
pass
def fun3:
pass
fun_dict = {'fun1': fun1,
'fun2': fun2,
'fun3': fun3}
我从命令行获取函数的名称,我想调用相关函数:
func_name = parse_commandline()
fun_dict[func_name]()
我想要函数名称的原因是因为我想创建fun_dict
而不写两次函数的名称,因为这似乎是创建错误的好方法。我想做的是:
fun_list = [fun1, fun2, fun3] # and I'll add more as the need arises
fun_dict = {}
[fun_dict[name(t) = t for t in fun_list] # <-- this is where I need the name function
这样我只需要写一次函数名。