Это для Python 2.6.
Я не мог понять, почему a и b идентичны:
>>> a = "some_string"
>>> b = "some_string"
>>> a is b
True
Но если в строке есть пробел, это не так:
>>> a = "some string"
>>> b = "some string"
>>> a is b
False
Если это нормальное поведение, кто-нибудь может объяснить, что происходит.
Редактировать: Отказ от ответственности!
Это не используется для проверки на равенство. Я на самом деле хотел объяснить кому-то еще, что «есть» - это только проверка идентичности, а не равенство.
И из документации я понял, что ссылки, созданные таким образом, будут другими, что новая строка будет создаваться каждый раз.
Самый первый пример, который я привел, отбросил меня, когда я не смог доказать свою точку зрения!
Изменить:
Я понимаю, что это не ошибка, и интернирование было для меня новой концепцией.
Это кажется хорошим объяснением.