¿Qué significan estas definiciones de parámetros en Python?

Muchas representaciones diferentes de parámetros en python, tales como:

urllib2.urlopen(url[, data][, timeout])

urllib2.build_opener([handler, ...])

cookielib.MozillaCookieJar(filename, delayload=None, policy=None)


urllib2.urlopen(url[, data][, timeout])

e

urllib2.urlopen(url,data,timeout)

¿El primero significa que toda la URL, los datos y el tiempo de espera se pueden pasar como lista?

preguntado el 01 de julio de 12 a las 05:07

2 Respuestas

Sé que el parámetro en el segundo método es una lista

Esto es incorrecto. Los corchetes en la documentación de comandos/funciones indican parámetros opcionales. Tenga en cuenta que en el orden de parámetros de Python importante, por lo que deberá usar argumentos de palabras clave para omitir parámetros en el medio.

urllib2.urlopen(someurl, somedata, sometimeout)
urllib2.urlopen(someurl)
urllib2.urlopen(someurl, somedata)
urllib2.urlopen(someurl, timeout=sometimeout)

urllib2.build_opener()
urllib2.build_opener(handler1)
urllib2.build_opener(handler1, handler2)
urllib2.build_opener(handler1, handler2, handler3)

Respondido 01 Jul 12, 05:07

Es una notación estándar para argumentos opcionales... es decir, puede pasar datos, opcionalmente seguidos de tiempo de espera, o como tiene su nombre, pasar tiempo de espera sin datos usando timeout=...

Respondido 01 Jul 12, 05:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.