首页 > 解决方案 > Python:函数中的常量变量值,而不是变量

问题描述

我正在尝试在循环中定义类函数,所以我有类似的东西

functions = {
    "a": "b",
    "c": "d",
    "e": "f"
}

for key in functions:
    def fun():
        print(functions[key])
    self.__setattr__(key, fun)

问题是这里它仍然依赖于key,所以每个函数都会打印f

我希望这个循环做相当于

def a(self):
    print("b")

def b(self):
    print("c")

def c(self):
    print("d")

我怎样才能做到这一点?

谢谢!

标签: pythonfunctionloopsvariablesreference

解决方案


推荐阅读