반응형
객체의 주소를 식별할 때 id라는 내장 함수를 사용한다.
C언어에서는 포인터를 사용해야 할 것을..
파이썬에선 = 이 객체 링크, == 이 값 할당 이므로
b=a 이런식으로 하면 b가 a와 같은 주소를 가르키게 하는 것이다.
주소가 같은지 확인하는 방법도 있다.
Reference count (래퍼런스 카운트)
파이썬의 모든 객체들은 래퍼런스 카운트라는 값을 갖는다.
파이썬에선 사용자가 딱히 메모리에 신경 쓸 필요가 없다. 안쓰면 알아서 제거하고
필요하면 알아서 확장해준다. (알아서 제거 하는 일을 Garbage Collection(쓰레기 수집) 이라고 한다.)
이 때, "알아서" 는 어떻게 이루어지는 것일까. 요 개념에서 래퍼런스 카운트 라는 녀석이 나온다.
모든 객체들은 래퍼런스 카운트라는 값을 가진다.
얼마나 많은 부분에서 이 객체를 사용하고 있는지를 나타내는 정수 지표이다.
사용하는 만큼 카운트가 올라가고, 0이 되면 메모리에서 떠내려간다.
그림 보면 대충 이해가 갈거라고 생각한다.
getrefcount() 함수를 이용하여 알아볼 수 있는데, 실제 값보다 1크게 나온다.
함수가 객체를 사용하기 위해 카운트를 하나 늘렸기 때문이다.
반응형
'IT 그리고 정보보안 > Knowledge base' 카테고리의 다른 글
파이썬 함수와 제어문 (0) | 2021.04.13 |
---|---|
파이썬 Indentation(들여쓰기) 문법 (0) | 2021.04.13 |
파이썬 자료형 (0) | 2021.04.13 |
파이썬 설치 및 기본 사용법 (0) | 2021.04.13 |
윈도우 스레드 스케줄링 그리고 컨텍스트 스위치 (0) | 2021.04.13 |