Время от времени я сталкиваюсь с таким кодом:
foo = Foo()
...
if foo.bar is not None and foo.bar.baz == 42:
shiny_happy(...)
Что мне кажется, ну, бесстрашным, для меня.
В Objective-C вы можете отправлять сообщения в nil и получать nil в качестве ответа. Я всегда считал, что это очень удобно. Конечно, возможно реализовать шаблон Null в Python, однако, судя по результатам, данным Google, мне кажется, что это не очень широко используется. Почему?
Или даже лучше - это будет плохая идея, чтобы позволить None.whatever вернуть None вместо создания исключения?