与数据中任何合法可能性不同的关键

wim*_*wim 0 python naming

"计算机科学只有两个难题:缓存失效和命名事物."

- 菲尔卡尔顿

当需要一些像下面这样的逻辑时,我正在努力想出一个明智的名字THING:

THING = object()

def do_something(my_dict, my_key=THING):
    if my_key is not THING:
        # some code which accesses the dict
        my_dict[my_key]
    else:
        # some code which handles this case 
Run Code Online (Sandbox Code Playgroud)

这里我们不能None用作默认值,因为它是一个可能的数据值.我敢肯定这是一个众所周知的技巧,所以有一个众所周知的名称,一个对象可以完成这项工作THING吗?什么是更明智的名字?

Mat*_*ttH 6

sentinel 这是通常的名称.

http://en.wikipedia.org/wiki/Sentinel_value

  • 除非您的字典存储XMen字符,否则您将不得不考虑其他名称. (4认同)