如何将函数保存到字典条目?

时间:2017-12-06 21:12:28

标签: python dictionary

我有这个代码,它是我用于游戏的主词典的一小部分

GAME_DICT = {
    # Player Media, Colors, And Locations
    'BLUE': {
        'COLOR': g.BLUE,
        'PLAYER_IMAGE': m.MEDIA['blue_face'],
        'BULLET_IMAGE': m.MEDIA['blue_bullet'],
        'LOCAL': 220,
        'ABILITY':         # Issue
        }

目前,我想将一个函数作为值添加到字典中。 当我尝试使用def function_name:添加函数时Python发出语法错误,当我从字典外部创建一个函数并将其保存到一个条目时,它会引发一个错误,需要填充所有的args,我当我在另一个文件中调用它时,我不需要填充特定的东西作为args。有什么帮助吗?

1 个答案:

答案 0 :(得分:4)

您可以将函数的名称存储在字典中而不会发生意外。

如果你有:

def myfunc(x):
    return x * 2

你也可以:

d = {'funcname': myfunc}

使用def语句创建命名函数。您还可以使用lambda语句创建无名函数。

d = {'funcname' : lambda x:x * 2}

创建函数后,您可以像使用任何其他变量一样使用名称或lambda引用。所以......

f = d['funcname']
print('Double is ', f(2))