我正在处理一个几乎所有地方都使用关键字传递参数的项目。有些函数只有位置参数,有些函数有关键字(默认值)参数,还有一些函数混合了两种参数。例如下面这个函数:
def complete_task(activity_task, message=None, data=None):
pass
在当前代码中,此函数将像这样被调用:
complete_task(activity_task=activity_task, message="My massage", data=task_data)
对我而言,在函数执行的上下文或变量名称中已经明显的参数命名是没有意义的。我会这样称呼它:
complete_task(activity_task, "My message", task_data)
在某些情况下,如果从上下文或变量名称中无法清楚地确定调用参数,我可能会这样做:
complete_task(activity_task, message="success", task_data=json_dump)
这让我想知道,当没有必要重新排列方法参数或使用一些关键字参数的默认值时,有没有一种约定俗成或"pythonic"的方法来调用带有位置参数/关键字参数的函数。