파이썬 콘솔에서 이것저것 만지다가 이상한 걸 발견했는데 이해가 안 돼서요.
>>> a = 256
>>> b = 256
>>> a is b
True
여기까진 그렇구나 했는데 숫자만 하나 올렸더니
>>> a = 257
>>> b = 257
>>> a is b
False
이렇게 나와요. 값은 둘 다 분명 같은데 왜 256은 같은 객체 취급이고 257은 다른 객체로 나오는 거죠? 참고로 == 로 비교하면
>>> a == b
True
둘 다 True 나옵니다. 그냥 == 쓰면 되는 건 알겠는데, 대체 256이랑 257 사이에 무슨 경계가 있는 건지 그 원리가 궁금해서요. 아시는 분 계실까요.