gpt4 book ai didi

python - **kwargs vs python 函数中的 10 个参数?

转载 作者:数据小太阳 更新时间:2023-10-29 01:55:41 27 4
gpt4 key购买 nike

我开始使用 python 并尝试为 ebay web service 构造一个 XML 请求:

现在,我的问题是:

说,这是我的功能:

def findBestMatchItemDetailsAcrossStores():
request = """<?xml version="1.0" encoding="utf-8"?>
<findBestMatchItemDetailsAcrossStoresRequest xmlns="http://www.ebay.com/marketplace/search/v1/services">
<siteResultsPerPage>50</siteResultsPerPage>
<entriesPerPage>50</entriesPerPage>
<ignoreFeatured>true</ignoreFeatured>
<keywords>ipod</keywords> <-----REQUIRED
<itemFilter>
<paramName>PriceMin</paramName>
<paramValue>50</paramValue>
<name>Currency</name>
<value>USD</value>
</itemFilter>
<itemFilter>
<paramName>PriceMax</paramName>
<paramValue>100</paramValue>
</itemFilter>
</findBestMatchItemDetailsAcrossStoresRequest>"""
return get_response(findBestMatchItemDetailsAcrossStores.__name__, request)

其中,关键字是唯一必填字段。那么,我应该如何构造方法呢?方式可以是:

  1. 创建一个对象,将它传递给 func(object) :java 方式
  2. 传递所有参数:func(a=val1, b=val2, c=val3, d=val4 etc)
  3. 使用 **kwargs 并相信调用该函数的人,他会传递正确的键和值,因为我将使用这些键来实际构建 XML 标记。

更新:

你在请求中看到的所有xml标签都是需要用户传递的。但是关键字应该被传递,如果需要的话也可以传递其他关键字。

有什么建议吗?

最佳答案

一个好主意是将所有参数与适当的默认值(或只是 None 默认值)放在函数签名中。是的,它需要在函数本身中输入更多的内容,但界面将是干净的、自记录的且易于使用,因为您不必在 ebay 文档或函数源中查找可能的参数。以后会节省您的时间。

关于python - **kwargs vs python 函数中的 10 个参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6223561/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com