본문 바로가기
코딩/파이썬

파이썬 객체 뜻, Python의 참조

by zz! 2024. 6. 3.
728x90

Python에서 리스트의 할당을 공부하다가 궁금증이 생겨서 정리를 하게 되었습니다.

 

파이썬 객체

https://docs.python.org/3/glossary.html

 

Glossary

>>>, The default Python prompt of the interactive shell. Often seen for code examples which can be executed interactively in the interpreter.,,..., Can refer to:- The default Python prompt of the i...

docs.python.org

에서 본 용어를 보면 

상태(속성 또는 값)와 정의된 동작(메서드)이 있는 모든 데이터이다. 새로운 스타일 클래스의 궁극적인 베이스 클래스이기도 한다. 

라는 번역 결과가 나왔습니다.

--> 객체는 데이터를 포함하고 이 데이터를 조작하는 방법(메서드)을 함께 가지고 있는 독립된 단위이다.

객체는 다음과 같은 특징을 가집니다.

Identity : 객체의 고유한 식별자, 이는 메모리 주소로 구현됩니다.

Type : 객체의 데이터 유형을 정의합니다. ex) 정수형, 문자열형, 리스트형 등이 있습니다.

Value : 객체가 담고 있는 데이터 자체입니다.

 

Python의 참조

객체를 직접 저장하는 것이 아니라, 객체에 대한 참조를 저장합니다. 이로 인해 변수 간의 할당, 복사, 함수 인자 전달에서 객체의 참조가 중요한 역할을 합니다.

변수와 참조의 개념

1. 변수와 객체

변수는 객체를 가리키는 이름표입니다.

ex) a  = [1, 2, 3] 에서 a 는 리스트 [1, 2, 3] 객체를 참조합니다.

2. 할당

변수에 다른 변수를 할당하면 두 변수는 동일한 객체를 참조합니다.

ex) b = a 는 b 가 a와 동일한 리스트를 참조하게 합니다.

3. 참조에 의한 변경

동일한 객체를 참조하는 변수 중 하나를 통해 객체를 변경하면, 다른 변수에서도 변경 사항이 반영됩니다.

ex) b[0] = 99 는 a와 b가 참조하는 리스트의 첫 번째 요소를 변경합니다.

a = [0, 0, 0, 0, 0]
b = a
b[2] = 99
print(a)  # [0, 0, 99, 0, 0]
print(b)  # [0, 0, 99, 0, 0]

 

728x90