반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- math
- hive
- PANDAS
- PySpark
- array
- string
- 파이썬
- django
- Redshift
- Excel
- numpy
- google apps script
- SQL
- Kotlin
- GIT
- c#
- Github
- matplotlib
- Google Excel
- gas
- Tkinter
- Apache
- PostgreSQL
- Mac
- Python
- list
- dataframe
- Java
- Google Spreadsheet
Archives
- Today
- Total
달나라 노트
Python Basic : id (변수의 memory 주소) 본문
728x90
반응형
id method는 객체(변수 등)가 저장된 memory의 주소를 정수값으로 반환해줍니다.
이 메모리 주소는 객체가 살아있는 동안에는 변하지 않고 동일합니다.
id(variable)
x = 10
y = 10
print(id(x))
print(id(y))
-- Result
4428267016
4428267016
위처럼 사용할 수 있으며 메모리 상의 주소를 return합니다.
메모리 주소는 변수가 다르다고 해서 무조건 다른 것은 아닙니다.
위 예시의 경우 x와 y는 서로 다른 변수이지만 동일한 10이라는 값을 가지고 있으므로 효율을 위해 캐싱하여 동일한 곳에 저장된 값을 서로 다른 변수에서 불러와 사용할 수 있도록 하기 때문입니다.
x = int(10)
y = float(10)
print(id(x))
print(id(y))
-- Result
4415634952
4417103152
위처럼 동일한 값이라고 해도 data type이 다르면 memory 주소도 바뀝니다.
x = [10, 11, 12]
y = [10, 11, 12]
print(id(x))
print(id(y))
-- Result
4495677824
4495777472
위 예시를 보면 x, y는 동일한 list인데 memory 주소가 다릅니다.
그 이유는 list, dictionary같이 순서가 바뀌면 달라지는 객체등의 경우 동일한 list라도 서로 다른 memory 주소에 저장됩니다.
728x90
반응형
'Python > Python Basic' 카테고리의 다른 글
Comments