리셋 되지 말자

[python 공부] 파이썬 객체 본문

Python

[python 공부] 파이썬 객체

kyeongjun-dev 2021. 4. 28. 15:49

객체

파이썬은 모든 것이 객체다. 불변 객체와 가변 객체로 구분한다.

클래스 설명 불변 객체 여부
bool 부울 O
int 정수 O
float 실수 O
list 리스트 X
tuple 튜플은 생성할 때 설정한 값이 변경 불가능 O
str 문자 O
set 중복된 값을 갖이 않는 집합 자료형 X
dict 딕셔너리 X

 

불변 객체

>>> 10
10
>>> id(10)
140732690781504
>>> a=10
>>> b=a
>>> id(a)
140732690781504
>>> id(b)
140732690781504

10이라는 불변 객체가 존재하고, 이를 변수 a와 b가 이를 참조할 뿐이다. 그래서 id 값이 전부 동일한것을 확인할 수 있다.

int, str, tuple이 불변 객체이며, 불변 객체는 모두 dict의 키나 set의 값으로도 사용할 수 있다. list는 가변 객체이기 때문에 불가능하다.

 

가변 객체

불변 객체와 달리 가변 객체인 list는 값이 바뀔 수 있으며, 이는 곧 list 객체를 다른 변수가 참조하고 있을 때 그 변수의 값 또한 변경될 수 있다는 것을 의미한다.

>>> a= [1,2,3]
>>> b=a
>>> b
[1, 2, 3]
>>> a[1] = 5
>>> a
[1, 5, 3]
>>> b
[1, 5, 3]

a가 list를 참조하고 있고, b가 a를 참조하고 있는 상태에서 리스트의 값이 변경되면, b의 값도 변경된 것을 확인할 수 있다.

'Python' 카테고리의 다른 글

[python 문법] list  (0) 2021.06.08
[python 문법] is와 ==  (0) 2021.04.28
[python 공부] 파이썬 자료형  (0) 2021.04.28
[python 문법] locals  (0) 2021.04.28
[python 문법] pass  (0) 2021.04.28
Comments