有没有办法在Python中获取对象的名称?例如:my_list = [x, y, z] # x, y, z have been previously defined
for bla in my_list:
print "handling object ", name(bla) #
# 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而不需要写两次函数的名字,因为这看起来是一个创建bug的好方法。我想做的是: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] #
这样我只需要写一次函数名。