使用默認:如何考慮下面的函數以正確的方式
def httpstatus(self, url, data=None, timeout=None):
if timeout is None:
timeout = socket._GLOBAL_DEFAULT_TIMEOUT
urlopen(url, data, timeout)
超時參數應該是可選的。但如果ommited我想使用代碼中顯示的socket._GLOBAL_DEFAULT_TIMEOUT值。但是,那個人是受保護的成員。而這看起來並不正確。所以不同的方法......
def httpstatus(self, url, data=None, timeout=None):
if timeout is None:
urlopen(url, data)
else:
urlopen(url, data, timeout)
廢話,一個是更髒......
什麼是回落到插座默認超時正確和恰當的方式?
如果你包裝'urllib2.urlopen',你爲什麼不只是使用'* args'和'** kwargs':'高清則httpStatus(個體經營,* ARGS,** kwargs) '? – Blender
@Blender我相信他不只是把它包裝起來,這只是一個簡單的例子... – kirelagin
@blender,現在我只是包裝,但我更好奇的是一種更好的方法。也許我不應該尋找一個通用的方法。 – Paul