estoy empezando a cabo con pitón y tratando de construir una solicitud XML para un ebay web service:** kwargs vs 10 argumentos en una función python?
Ahora, mi pregunta es:
decir que este es mi función:
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)
Cuando, palabra clave es el único campo requerido. Entonces, ¿cómo debería construir el método? Las formas pueden ser:
- crear un objeto, pase a la func (objeto): La forma java
- Pass todos los argumentos: func (a = val1, b = val2, c = val3, d = val4 etc.)
- Use ** kwargs y confíe en la persona que llama a la función, que pasa las claves correctas con los valores, porque usaré las claves para construir realmente las etiquetas XML.
Actualización:
Todas las etiquetas XML que se ven en la solicitud son necesarios para ser aprobada por el usuario. Pero las palabras clave deben pasarse y otras pueden aprobarse si es necesario.
¿Alguna sugerencia?
¿Qué campos deben poder cambiar otras funciones? –
no entendió eso. todos estos campos son solo locales para esta función. – zengr
En otras palabras, ¿qué campos necesita especificar el programa sobre la marcha? –