0

python中参数的许多不同表示形式,例如:

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

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

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


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

urllib2.urlopen(url,data,timeout)

第一个是否意味着所有 url、数据和超时都可以作为列表传递?

4

2 回答 2

5

我知道第二种方法中的参数是一个列表

这是不正确的。命令/函数文档中的方括号表示可选参数。请注意,在 Python 中,参数的顺序确实很重要,因此您需要使用关键字参数来省略中间的参数。

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)
于 2012-07-01T04:16:02.780 回答
2

这是可选参数的标准表示法......即您可以传递数据,可选地后跟超时,或者按照您的名称,使用 timeout=... 传递没有数据的超时

于 2012-07-01T04:18:24.023 回答