python获得变量的名称,获得传参(形参和实参)的名称

118 阅读1分钟
1/ 获得变量的名称
    aaa = '23asa'
    bbb = 'kjljl2'
    
    loc = locals()
    def get_variable_name(variable):
        print( loc )  # 格式为一个字典{k:v,k:v,k:v.....}
        for key in loc:
            if loc[key] == variable:
                return key
                
    print( get_variable_name(aaa) )

 2/ 获得形参的名称
    aaa = '23asa'
    bbb = 'kjljl2'

    def get_variable_name(variable):
        loc = locals() # 把locals()方法移到函数内
        print( loc )
        for key in loc:
            if loc[key] == variable:
                return key

    print( get_variable_name(aaa) )

  3/ 获得实参的名称
        aaa = '23asa'
        bbb = 'kjljl2'
        lst = [aaa,bbb,aaa]
        value = lst[1]
        loc = locals()  # 放在函数外

        def get_variable_name(variable):
            print( loc )
            for key in loc:
                if loc[key] == variable:
                    return key

        print( get_variable_name(value) )