if not someObject is None: someObject.doSomething() else: print "someObject is None!"
This reads a bit strange. So what if you could alias "not ... is None" to "... is Something"?
if someObject is Something: someObject.doSomething() else: print "someObject is None!"
It seems that this idea was thought of almost eight years ago already. This lead to some PEP 0326, which got rejected. If Python were a macro or functional language, you could probably hack something up to do the same thing, but it does not work like that:
>>> Something = not None >>> Something True >>> A = [1,2,3] >>> if A is Something: ... print "This is something" ... else: ... print "This is nothing" ... This is nothing >>>
The problem here being, that "non None" is immediately evaluated to "True", since "None" can be implicitly converted to "False" in a boolean sense. Was a funny thought, though.
Update: Turns out you can at least write "if someObject is not None:", which is more readable.