MINERVA/Python 2022. 5. 12. 14:38
반응형

1.기본적 오브젝트 분류

출처: https://www.geeksforgeeks.org/

 

2. 객체 종류

- 파이썬의 모든 변수는 객체의 인스턴스다. 그리고, 객체는 2종류로 구분(1. Mutable, 2. Immutable)된다.

- 객체가 인스턴스화될 때마다 고유한 개체 ID가 할당되고, 객체 유형은 런타임에 정의되며 이후에는 변경할 수 없습니다. 그러나 변경 가능한(mutable) 객체인 경우 상태가 변경될 수 있습니다.

- 변경 가능한 객체는 상태나 내용을 변경할 수 있고, 변경할 수 없는 객체는 상태나 내용을 변경할 수 없습니다.

 

3. WHY?

- 호기심? 파이썬을 만든 사람들은 왜? 객체 2가지로 분류를 하였을까? 답: 속도와 비용 때문이다.

  (이 부분에 대해 기술적으로 좀더 깊게 보고자 한다면, 얕은 복사(shallow copy) 와 깊은 복사(deep copy)에 대해서 보면 더 이해가 잘 됩니다.)

- 가변(mutable) 객체와 불변(immutable) 객체는 파이썬에서 다르게 처리됩니다. 
  변경할 수 없는 개체는 액세스가 더 빠르고 복사본을 생성해야 하기 때문에 변경 하는 데 비용이 많이 듭니다.
  반면 가변 객체는 변경하기 쉽습니다.

 

4, 예제

5. 정리

- 개체의 크기 또는 내용을 변경해야 하는 경우 가변 개체를 사용하는 것이 좋습니다.

 

반응형
posted by choiwonwoo
: