python 사용자 지정 불변 객체를 만드는 3가지 방법
·
탐구 생활/python
사용자 지정 불변 객체이전 글에서는 사용자가 만든 클래스는 모두 가변 객체인것 처럼 설명되었다. 정말 사용자가 만든 클래스는 불변 객체가 될 수 없는 걸까?용자가 작성한 클래스를 불변 객체로 만들기 위해서는 다음의 조건이 충족되어야 할 것이다.새로운 attribute 를 추가하는것을 막는다.기존 attribute 를 변경하는 것 모두가 막는다.값을 기반으로 객체간 동등성을 비교하도록 재정의 한다.1. 새로운 attribute 추가 제한파이썬 객체는 별다른 설정을 하지 않는다면 attribute 를 dict 자료형에 저장한다. 그리고 dict 자료형은 값을 추가, 삭제할 수 있다. 아래의 예시를 보자. 자유로은 attribute 추가class MutableClass: value: str def ..
Python 가변 객체와 불변 객체
·
탐구 생활/python
Python의 가변 객체와 불변 객체Python에서 객체는 가변 객체(Mutable Objects)와 불변 객체(Immutable Objects)로 나눌 수 있다. 이 두 가지는 객체의 값을 변경할 수 있는지 여부에 따라 구분되며, 메모리 관리와 성능에 중요한 영향을 미친다. 1. 가변 객체 (Mutable Objects)특징값(내용)을 변경할 수 있음.동일한 객체를 참조하는 변수는 변경 사항을 공유.대표적인 가변 객체:list 리스트dict 딕셔너리set 세트사용자 정의 클래스 객체예제x = [1, 2, 3] # 리스트 객체 생성y = x # x와 y는 같은 객체를 참조x.append(4) # x의 값을 변경print(x) # 출력: [1, 2, 3, 4]print(y) ..