相关疑难解决方法(0)

将变量的名称作为字符串

这个主题讨论如何在Python中将函数的名称作为字符串获取:如何在Python中将 函数名称作为字符串获取?

如何为变量做同样的事情?(注意Python变量没有属性__name__,至少在Python中retrieve_name)

换句话说,如果我有一个变量,例如:

foo = dict()
foo['bar'] = 2
Run Code Online (Sandbox Code Playgroud)

我正在寻找一个函数/属性,例如'foo':

retrieve_name(foo) 
Run Code Online (Sandbox Code Playgroud)

返回字符串 __name__

更新:

既然人们在问我为什么要这样做,这里就是一个例子.我想在此列表中在Pandas中创建一个DataFrame,其中列名 由实际字典的名称给出:

# List of dictionaries for my DataFrame
list_of_dicts = [n_jobs, users, queues, priorities]
Run Code Online (Sandbox Code Playgroud)

python

112
推荐指数
13
解决办法
16万
查看次数

如何在Python中获取对象的名称?

有没有办法在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
Run Code Online (Sandbox Code Playgroud)

编辑:一些上下文:

我实际上在做的是创建一个我可以通过命令行指定的函数列表.

我有:

def fun1:
    pass
def fun2
    pass
def fun3:
    pass

fun_dict = {'fun1': fun1,
            'fun2': fun2,
            'fun3': fun3}
Run Code Online (Sandbox Code Playgroud)

我从命令行获取函数的名称,我想调用相关函数:

func_name = parse_commandline()

fun_dict[func_name]()
Run Code Online (Sandbox Code Playgroud)

我想拥有该函数名称的原因是因为我想创建fun_dict两次函数的名称,因为这似乎是创建错误的好方法.我想做的是:

fun_list = [fun1, fun2, fun3] # and I'll add more as the need arises

fun_dict …
Run Code Online (Sandbox Code Playgroud)

python introspection

29
推荐指数
5
解决办法
9万
查看次数

标签 统计

python ×2

introspection ×1