눈에 띄는 책

한 권으로 끝내는 정규 표현식
잰 고이바에르츠,스티븐 리바이선 저/김지원 역
글로벌 소프트웨어를 꿈꾸다
김익환 저
열혈강의 자바 디자인 패턴
김창호 저

Python/Tech&Tip2008/11/27 23:40
파이썬은 메모리의 효율적인 사용을 위해 동일한 값을 가진 정수와 문자열은 같은 객체를 공유합니다.

그런데 정수의 경우 모든 값이 아닌 특정 범위에 있는 값들만 공유해서 사용하는데, 파이썬 일부 버전에서는
정수 공유 범위가 다르게 나타나기도 합니다.
 
구글링으로 관련 자료를 찾아 봤지만 별다른 소득이 없어서, 그냥...테스트 해버렸습니다. (-,.ㅡ^)a
다음은 파이썬 버전별로 IDLE 에서 테스트한 결과입니다.



각 버전별로 나온 결과를 정리해보면,
 
Python 1.5.2, Python 1.6.1, Python 2.0.1, Python 2.1.3, Python 2.2.3 버전은 -1에서 99까지의 정수 객체를
공유하고 있습니다.

Python 2.3.5, Python 2.4.3 버전은 -5에서 99까지의 정수 객체를 공유합니다.

그리고 Python 2.5.2 버전과 Python 2.6 버전은 -5에서 256까지의 정수 객체를 만들어 놓고 공유하는 것을 알 수
있습니다.

사실 정수 객체에 대한 is 사용이 그다지 필요하지 않다고 생각이 들지만, 확인이나 해보자 하는 차원에서
위와 같은 테스트를 한번 해봤습니다.


Python 버전별 정수 공유 범위, 파이썬 버전별 정수 공유 범위
Posted by 야노