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