有没有办法列出可选参数? python
is there a way to make a list of optional params? python
假设我有一个函数有一个/两个选项,但如果我想稍后添加更多,更多怎么办?有没有办法让它工作起来没有太多麻烦?
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})
尝试以下操作:
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})
希望对您有所帮助。
您可以考虑使用变长参数*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/ 以获得进一步的简化说明。
假设我有一个函数有一个/两个选项,但如果我想稍后添加更多,更多怎么办?有没有办法让它工作起来没有太多麻烦?
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})
尝试以下操作:
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})
希望对您有所帮助。
您可以考虑使用变长参数*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/ 以获得进一步的简化说明。