2017-11-19 1 views
4
좀 메모리를 확보 할

, 예를 들어, 내가 정의 변수 : 다음파이썬 메모리 무료

b = 10 
id(b) # it shows 1935260400 

내가 B의 값을 변경 : 그 후

b = 11 
id(b) # it shows 1935260432 

를 다시 B를 변경 다음은

b = 10 
id(b) # it still shows 1935260400,why is it same with first time? 

가 처음에 질문, B = 10이고, 다음 두 번째 시간에 B = 11 이유와 같은 세 번째의 ID (b)는 처음으로? 값 10은 여전히 ​​메모리에 있습니까? 가치 10이 차지하는 메모리를 해제하는 방법?

답변

7

일반 정수 객체 인의 파이썬 문서에서 이에 대해 설명합니다. 보세요 here. -5와 256 사이의 값에 대한 참조는 동일하게 유지되므로 변수를 변경할 때 실제로 참조를 가리 킵니다.

이 범위를 벗어난다면 다른 동작을 기대할 수 있습니다.

+0

또한 정수 개체의 ID는 세션간에 일관성이 있습니다 (적어도 동일한 컴퓨터의 경우). – James

+0

@James 왜 범위가 -5에서 256까지입니까? –