一、使用locals()方法

hello = 123
loc = locals()
def get_variable_name(variable):
    for k,v in loc.items():
        if loc[k] ==variable:
            return k
print(get_variable_name(hello))

输出结果:

hello

Process finished with exit code 0

二、使用globals()方法

hello = 123
def get_variable_name(variable):
    loc = globals()
    for k,v in loc.items():
        if loc[k] ==variable:
            return k
print(get_variable_name(hello))

输出结果:

hello

Process finished with exit code 0

推荐使用第一种方法,因为变量名存在重复可能,降低作用域范围效果更好。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐