반응형
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 | 31 |
Tags
- dataframe
- c#
- math
- Tkinter
- hive
- SQL
- list
- string
- Java
- google apps script
- Excel
- Apache
- GIT
- django
- Kotlin
- PostgreSQL
- 파이썬
- Google Excel
- matplotlib
- Redshift
- Google Spreadsheet
- PySpark
- Presto
- numpy
- array
- gas
- Github
- Python
- PANDAS
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
