Есть ли разница между:
if foo is None: pass
и
if foo == None: pass
Соглашение, которое я видел в большей части кода Python (и кода, который я сам пишу), является первым, но недавно я наткнулся на код, который использует последний. Ни один не является экземпляром (и единственным экземпляром, IIRC) NoneType, так что это не должно иметь значения, верно? Существуют ли обстоятельства, при которых это может произойти?