일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 바이낸스
- trading view
- 템플릿 함수화
- 기초
- 오버로딩
- 후위
- 비트코인
- Basic
- 순회
- linked list
- 알고리즘
- 숫자
- 전위
- Data Structure
- mutable
- 연결 리스트
- SCM
- Python
- Windows
- 트리
- #선물 #비트코인#알트코인#매매#코인#마진
- C++
- BST
- 자료구조
- array
- Tree
- template
- 문자열
- 이진 탐색 트리
- 선물
Archives
- Today
- Total
Project Hub
mutable object & immutable object 본문
728x90
반응형
객체
Python 의 모든 데이터 타입은 객체(object)다.
- 객체에는 가변객체(mutable)와 불변객체(immutable)가 있다.
- 객체에는 3가지 특성인 값, 유형, 정체성이 있다.
- 값(Value): 가변 객체는 값이 변할 수 있다. 반면에 불변 객체는 값이 변하지 않는다.
- 유형(type): type() 함수를 통해 객체의 유형, 데이터 타입을 알 수 있다.
- 정체성((Identity): id() 함수를 통해 각각의 객체를 식별하기 위한 고유 번호를 알 수 있다.
- 보통의 경우, 불변 객체 타입이 가변 객체 타입보다 효율적이다.
가변 객체
- 객체 생성 이후 값을 변경할 수 있는 객체를 의미한다.
- list, set, dict 가 가변 객체에 속한다.
mutable_obj = [1,2,3,4]
>>> mutable_obj
[1,2,3,4]
mutable_obj[1] = 5
>>> mutable_obj
[1,5,3,4]
불변 객체
- 객체 생성 이후 값을 변경할 수 없는 객체를 의미한다.
- int, float, bool, tuple, string, unicode 가 불변 객체에 속한다.
>> my_str = 'Hello, World!'
'Hello, World!
>>> my_str[2] = '1' # my_str의 2번째 값을 '1'로 수정한다
TypeError: 'str' object does not support item assignment
#오류 발생
#오류가 발생한 이유는 문자열(String)이 불변이기 때문이다.
728x90
반응형
'Python > 기초 개념' 카테고리의 다른 글
문자열 패킹과 언패킹 (0) | 2022.10.14 |
---|---|
문자열 (0) | 2022.10.14 |
얕은 복사와 깊은 복사 (0) | 2022.10.14 |
숫자 (3) | 2022.10.03 |
Comments