💡 이 글은 쪼개진 조각처럼 부분별로 알고 있는 Python을
AtoZ부터 다시 끝까지 다져보자
라는 생각으로 파이썬 코딩 도장에서 공부한 것을 정리하는 글 & 시리즈입니다. 💡
파이썬은 값 자체도 객체
입니다.
sys.getrefcount
함수를 사용하면 현재 객체가 몇 번 사용되었는지 확인할 수 있습니다
레퍼런스 카운트(reference count)
라고 부릅니다).import sys
print(sys.getrefcount(2000)) # 2: Windows에서 처음 레퍼런스 카운트는 2
# 3: 리눅스에서 처음 레퍼런스 카운트는 3
x = 2000 # x에 2000을 저장
print(sys.getrefcount(2000)) # 3: 2000을 한 번 사용하여 레퍼런스 카운트 1 증가(Windows)
# 4: 리눅스
y = 2000 # y에 2000을 저장
print(sys.getrefcount(2000)) # 4: 2000을 한 번 사용하여 레퍼런스 카운트 1 증가(Windows)
# 5: 리눅스
print(x is y) # True: x와 y가 같은 객체를 가리키고 있으므로 True가 나옴
변수를 만들어 2000을 사용할 때마다 sys.getrefcount의 결과가 1
씩 증가합니다.
sys.getrefcount(2000)
를 실행했을 때 0이 아닌 2
가 나오는 이유는 sys.getrefcount를 호출하면서 내부적으로 1000을 두 번 사용했기 때문입니다.