call by value 썸네일형 리스트형 note 1 >>> a = -5 >>> a is -5 True >>> id(a), id(-5) ex) 10000001, 10000001 >>> a = -6 >>> a is -6 False >>> id(a), id(-6) ex) 10000003, 10000109 두 가지 케이스가 다르게 나오는 이유 (파이썬 3.8.10) 파이썬은 기본적으로 동적 메모리 할당을 베이스로 RAM의 [파이썬 영역]의 [heap 영역]에서 관리한다. 하지만 예외적으로 정수 중 일부인 '작은 정수'(상수값)들은 정적 메모리 할당을 한다. 작은 정수들은 [파이썬 영역]의 [data 영역]에서 관리한다. 정적 메모리 할당은 파이썬 인터프리터가 RAM에 상주하게 되면 메모리 공간을 가지게 되어있다. 변수에 상수값을 대입할 경우 해당 값의 주소 자체.. 더보기 이전 1 다음