向封装restapi的函数传递许多可选参数的最佳实践

2024-04-25 09:23:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我想这有点固执己见,但很好奇是否有一个共同的“最佳实践”模式。你知道吗

假设我有一个我正在包装的API,它需要许多(30+)可选参数中的一个来传递给URI。显然,传递30个关键字是荒谬的,所以我选择做以下几点:

from urllib.parse import urlencode

def example(required,**kwargs):
    print('wwww.exampleapi.com/limit='+required+'&{}'
          .format(urlencode(kwargs)))

example('foobar',a=1,b=2,c=3)
>>> wwww.exampleapi.com/limit=foobar&a=1&c=3&b=2

这使我能够灵活地拥有可选的关键字参数,而不必在参数列表中单独指定它们,而且我不必使用kwargs.get公司()十亿次。缺点是,如果我想验证传入的参数是否是有效的api参数,我需要维护一个列表或某种映射,并检查**kwargs在该列表中的成员身份,因为我没有使用kwargs.get公司(至少到目前为止我是这么想的)。然后我就可以指向API文档,了解要使用哪些参数。你知道吗

在使用这种方法时,我是否应该注意到任何明显的问题?你知道吗


Tags: comapi列表参数getexamplerequired公司