我想在函数内定义一个字典。我如何一次只能在函数创建时定义该词典。我试图防止在每个函数调用上创建字典。目前,我定义了一个全局字典并在函数内部使用它,但是还有其他解决方案吗?
media_types = {
1: 'New Video',
2: 'New Image',
3: 'New File',
}
def get_media_type(t):
return media_types.get(t, None)
Run Code Online (Sandbox Code Playgroud)
小智 6
您可以通过在python中使用闭包来做到这一点
def get_media_type():
media_types = {
1: 'New Video',
2: 'New Image',
3: 'New File',
}
def media_type_wrapper(t):
return media_types.get(t, None)
return media_type_wrapper
get_media_type = get_media_type()
Run Code Online (Sandbox Code Playgroud)
有关python中闭包的更多信息,请访问https://www.programiz.com/python-programming/closure