这些参数定义在python中意味着什么?

时间:2012-07-01 04:13:22

标签: python

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,data和timeout都可以作为列表传递?

2 个答案:

答案 0 :(得分: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)

答案 1 :(得分:2)

它是可选参数的标准表示法...即你可以传递数据,可选地后跟超时,或者当你有它的名字时,使用timeout = ...传递超时而没有数据<...