2014-09-24 2 views
1

«В информатике есть только две трудные проблемы: кеш недействительность и именование вещей».Ключ, отличный от любых правовых возможностей в данных

- Фил Karlton

При необходимости какой-то логики, как показано ниже, я изо всех сил, чтобы придумать разумное имя для 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 

Здесь мы не можем использовать в качестве None по умолчанию, поскольку это возможное значение данных. Я уверен, что это хорошо известный трюк, так есть ли известное имя для объекта, который выполняет работу THING? Что более разумное имя?

ответ

6

sentinel является обычным именем для этого.

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

+4

исключения случаев, когда ваш словарь хранение символов XMEN, то вам придется придумать какое-нибудь другое имя. – CoryKramer

+0

tahnks, я думал, что дозорный был использован как флаг для выхода из цикла – wim