Мой Google-фу подвел меня.
В Python следующие два теста на равенство эквивалентны?
n = 5
# Test one.
if n == 5:
print 'Yay!'
# Test two.
if n is 5:
print 'Yay!'
Применимо ли это к объектам, где вы будете сравнивать экземпляры (скажем, list
)?
Хорошо, вот такой ответ на мой вопрос:
L = []
L.append(1)
if L == [1]:
print 'Yay!'
# Holds true, but...
if L is [1]:
print 'Yay!'
# Doesn't.
Итак, ==
проверяет значение, где is
проверяет, являются ли они одним и тем же объектом?