wheres pythonmonks <wherespythonmo...@gmail.com> writes: > How does "x is not None" make any sense?
In two ways: partly from the fact that Python syntax is preferentially designed to be reasonably readable to a native English reader; and partly because it makes for more obvious semantics. ‘is not’ is a single operator which makes operator precedence clear, and also “x is not None” is gramatically good English. > "not x is None" does make sense. It unfortunately makes for awkward English, and it also makes for two separate operators and hence non-obvious operator precedence. > I can only surmise that in this context (preceding is) "not" is not a > unary right-associative operator Rather than surmise, you can read the language reference <URL:http://docs.python.org/reference/expressions.html#isnot> which makes clear that ‘is not’ is one operator. -- \ “I am amazed, O Wall, that you have not collapsed and fallen, | `\ since you must bear the tedious stupidities of so many | _o__) scrawlers.” —anonymous graffiti, Pompeii, 79 CE | Ben Finney -- http://mail.python.org/mailman/listinfo/python-list