我可以通过说将函数存储在字典中
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!")
关于python - python字典中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51051894/