객체(Object)
- 파이썬은 객체라는 단위로 메모리상에서 정보를 관리
- 객체에는 값(Value),유형(Type),정체성(Identity) 3가지 특성이 있다.
- 값(Value): 메모리에 기록된 내용. 가변객체에서는 변하고 불변 객체에서는 변하지 않는다.
- 유형(Type): 데이터의 종류를 나타내며 Type()함수를 통해 알 수 있다.
- 정체성(Identity): 메모리상에 위치한 주소값이며, 객체 식별을 위한 고유번호이다. ID() 함수를 통해 알 수 있다.
- Ex) year = 2021 에서 'year'라는 변수는 2021이라는 객체를 가르킨다.
가변 객체(mutable Object) vs 불변 객체(Immutable Object)
- 가변객체(Mutable Object)
- 객체에 할당된 값을 수정할 수 있다.
자료형 예) list,set,dictionary
- 불변객체(Immutable Object)
- 객체에 할당된 값을 수정할 수 없다.
자료형 예) int,float,tuple,str,bool
#가변객체
a=[1,2,3]
def test1(x):
x=x.append(4)
test1(a)
print(a)
[1,2,3,4]
#불변객체
a=3
def test1(x):
x=x+2
test1(a)
print(a)
3