我们说我有一个带有一个/两个选项的功能,但是如果我想稍后再添加更多内容呢?有没有办法让它工作没有太多麻烦?
def json_response_message(status, message, option=(), option1=()):
data = {
'status': status,
'message': message,
}
data.update(option)
data.update(option1)
return JsonResponse(data)
所以我可以像:
一样使用它json_response_message(True, 'Hello', {'option': option})
答案 0 :(得分:1)
尝试以下方法:
def json_response_message(status, message, **kwargs):
data = {
'status': status,
'message': message,
}
data.update(kwargs)
return JsonResponse(data)
和
json_response_message(True, 'Hello', option=option, option1=option1) # etc...
或者
json_response_message(True, 'Hello', **{"option": option, "option1": option1})
希望这有帮助。
答案 1 :(得分:0)
您可以考虑使用可变长度参数*args
。它们在函数参数中以*
为前缀。试试这个例子。
def json_response_message(status, message, *options):
data = {
'status': status,
'message': message,
}
for option in options:
data.update(option)
return JsonResponse(data)
然后,您可以根据需要使用尽可能多的参数调用函数。
json_response_message(True, 'Hello', {'option': option}, {'option1': option})
有关简化的进一步说明,请参阅http://www.saltycrane.com/blog/2008/01/how-to-use-args-and-kwargs-in-python/。