Hacker News new | ask | show | jobs
by beagle3 4516 days ago
But the discussion is about truthy values and inexact comparisons - avoiding inexact comparisons and having an else means:

    if something==True:
        do_this()
    elif something==False:
        do_that()
    else:
        raise UserWarning("Shouldn't be here")
Which is a code smell to me. What I would do is:

    assert isinstance(something, boolean), "Shouldn't happen"
    do_this() if something else do_that()
(replace assert with something else if you want it not to be optimized away with -O; assert is a debug-only construct in Python. Or just drop the assert altogether. In most places, I would - there's no end to the amount of validation you could do, and most of it is unnecessary)