我有这个代码,它是我用于游戏的主词典的一小部分
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。有什么帮助吗?
答案 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))