Skip to main content
 首页 » 编程设计

python之python字典中的函数

2025年05月04日11sharpest

我可以通过说将函数存储在字典中

MyDict = {} 
 
def func(): 
    print("Hello, world!") 
 
MyDict["func"] = func 

我想知道是否有更干净/更简洁的方式来编写这个 - 类似于

MyDict = {} 
 
def MyDict["func"](): 
    print("Hello, world!") 

但是这段代码会抛出一个语法错误

请您参考如下方法:

您可以(ab)使用装饰器。

MyDict = {} 
 
def store(d, name): 
    def _(f): 
        d[name] = f 
        return f 
    return _ 
 
@store(MyDict, "func") 
def func(): 
    print("Hello, world!") 
 
@store(MyDict, "foo") 
def some_other_func(): 
    print("Goodbye") 

如果您只想使用定义的名称作为键并硬编码要更新的字典,则可以简化此操作:

def store(f): 
    MyDict[f.__name__] = f 
    return f 
 
@store 
def func(): 
    print("Hello, world!")