我想为使用kwargs的各种方法获得制表符完成/文档支持以及潜在的静态分析支持。这些关键字参数将传递给基于Web的API。为了简化逻辑,这意味着我只想发送用户输入的内容(通过kwargs),而不是枚举每个选项作为输入,然后在以后合并它们(尽管欢迎提出建议)。例如:
cv
def method1(self,opt1:Optional[bool]=None,opt2:Optional[str]=None,opt3=None,opt4=None):
d = Dict()
if opt1 is not None:
d['opt1'] = opt1
if opt2 is not None:
d['opt2'] = opt2
#etc.
def method2(self,**kwargs):
#kwargs is all set to pass to Python requests - might modify
键入注释将相对简单。我更喜欢method1
,但我见过的唯一一个类型注释示例直接应用于kwargs,而不是应用于method2
,opt1
等。还有其他的文档方法可以会提醒大多数编辑器预期的变量名称和类型?有没有一种以更通用的方式处理opt2
的方法,而不是添加许多method1
语句?