我經常看到帶有缺省參數的python代碼,當它們沒有被指定時有特殊行爲。指定存在/不存在問題的默認參數的習慣方式
如果我例如想要的行爲是這樣的:
def getwrap(dict, key, default = ??):
if ???: # default is specified
return dict.get(key, default)
else:
return dict[key]
如果我要推出自己的,我想最終是這樣的:
class Ham:
__secret = object()
def Cheese(self, key, default = __secret):
if default is self.__secret:
return self.dict.get(key, default)
else:
return self.dict[key]
但我不想當肯定有標準時發明一些愚蠢的東西。在Python中這樣做的習慣用法是什麼?
這並不罕見,至少在Plone中,通常稱爲_marker。 – 2011-02-08 18:09:23