1. 변수의 주소, 타입, 메모리 확인하기
모든 변수는 메모리를 할당받고, 주소값을 갖게 된다. 파이썬에서 기본 자료형(int, float, str 등)은 불변 객체이기 때문에 직접적으로 메모리 주소를 공유하게 할 수는 없다.
int 형식은 유동적으로 변하고 float는 고정이다. str 형식은 49바이트를 할당받고 시작한다.
import sys
# 변수 선언
int_var = 1
float_var = 3.14
str_var = "Hello"
# 변수의 자료형 출력
print(f"Type of int_var: {type(int_var)}")
print(f"Type of float_var: {type(float_var)}")
print(f"Type of str_var: {type(str_var)}")
# 변수의 메모리 주소 출력
print(f"Memory address of int_var: {id(int_var)}")
print(f"Memory address of float_var: {id(float_var)}")
print(f"Memory address of str_var: {id(str_var)}")
# 변수의 메모리 사용량 출력
print(f"Memory size of int_var: {sys.getsizeof(int_var)} bytes")
print(f"Memory size of float_var: {sys.getsizeof(float_var)} bytes")
print(f"Memory size of str_var: {sys.getsizeof(str_var)} bytes")
# 리스트를 사용하여 값 저장
shared_list = [1]
# 리스트의 첫 번째 요소를 가리키는 변수
int_var = shared_list
a_var = shared_list
print(f"Before modification:")
print(f"int_var: {int_var[0]}")
print(f"a_var: {a_var[0]}")
# 값을 변경
int_var[0] = 2
print(f"After modification:")
print(f"int_var: {int_var[0]}")
print(f"a_var: {a_var[0]}")
'Today I Learned (TIL) > Python' 카테고리의 다른 글
[TIL] 데이터 전처리 - Pandas(2) (0) | 2024.07.17 |
---|---|
[TIL] 데이터 전처리 - Pandas(1) (0) | 2024.07.17 |
[TIL] 데이터 분석 파이썬 종합반 - 5주차(2) (0) | 2024.07.10 |
[TIL] 데이터 분석 파이썬 종합반 - 5주차(1) (0) | 2024.07.10 |
[TIL] 데이터 분석 파이썬 종합반 - 4주차 (1) | 2024.07.08 |