반응형
파이썬에서 이름은 객체를 참조한다
파이썬에서 '이름(name)은 객체(object)를 참조(reference)한다'는 말은, 변수 자체가 값을 저장하는 것이 아니라 어떤 값을 가진 객체를 가리키고 있다는 뜻입니다.
예시로 살펴보겠습니다.
a = [1, 2, 3]
b = a
- a는 [1, 2, 3]이라는 리스트 객체를 참조합니다.
- b = a라고 하면, 새로운 리스트를 만들지 않고, a가 참조하는 객체를 b도 같이 참조하게 됩니다.
b.append(4)
print(a) # [1, 2, 3, 4]
- b에서 리스트를 수정하면, a에서도 변경된 값이 보입니다.
- 즉, a와 b는 같은 객체를 바라보고 있기 때문입니다.
이를 그림으로 표현하면 다음과 같습니다:
[1, 2, 3] ← 객체 (리스트)
↑ ↑
a b ← 이름 (참조)
중요한 개념 요약
개념 설명
이름(name) | 객체를 가리키는 변수명 |
객체(object) | 메모리에 존재하는 실제 데이터 (숫자, 리스트, 문자열 등) |
참조(reference) | 이름이 어떤 객체를 바라보는 것 |
주의할 점
a = [1, 2, 3]
b = a.copy() # 또는 list(a)
b.append(4)
print(a) # [1, 2, 3]
print(b) # [1, 2, 3, 4]
- .copy()를 사용하면 새로운 객체를 만들고, b는 그것을 참조합니다.
- 이렇게 하면 a와 b는 다른 객체를 참조하게 되어 독립적으로 작동합니다.
결론
파이썬에서는 변수가 곧 이름이고, 값이 아니라 객체를 참조한다는 점이 핵심입니다.
이 덕분에 객체지향적 프로그래밍이 더 유연하게 작동하지만, 반대로 같은 객체를 의도치 않게 공유할 수도 있으므로 주의가 필요합니다.
반응형
'컴퓨터 활용 > 노년에 즐기는 코딩' 카테고리의 다른 글
탄핵과 관련된 숫자 알아보기 (3) | 2025.04.06 |
---|---|
AI 녹취 기술이 발전하는데도 속기사가 필요한 이유 (2) | 2025.03.12 |
[시길] epub3에서 동영상 사이즈 조정 (0) | 2025.03.09 |
노년도 코딩이 가능한 구글 코랩 (4) | 2025.03.08 |
시길 전자책 최상위 폴더, OEBPS(Open eBook Publication Structure) (3) | 2025.02.28 |
댓글