Much Ado About None: Sentinel Values in Python

(florianwilhelm.info)

15 points | by sebg 1 day ago

3 comments

  • lpghatguy 8 minutes ago
    When I was writing a bunch of Lua, I was a big fan of having a None sentinel value (Lua uses 'nil' for representing absence) and it was useful for a lot of things similar to Pydantic's MISSING.

    This distinction is something that I think is actually handy about JavaScript, and distinguishing between 'null' and 'undefined' is sometimes useful for similar reasons.

  • RantyDave 24 minutes ago
    "A simple cache returns None both for a missing key and for a key that maps to None."

    No, it returns KeyError. Or at least it should.

    • lyorig 13 minutes ago
      Perhaps the author has had their fair share of run-ins with libraries that didn't think their API through like that. But yes, they should.
  • chowells 32 minutes ago
    I like it. I can't see how to do better while remaining compatible with Python idioms.