본문 바로가기
wecode/TIL 정리

위코드 사전 스터디 3주차 - 1

by 왕거 2020. 6. 28.

3주차는 서로 자유롭게 파이썬을 사용해서 스터디를 진행한 후 모임때 각자 결과물을 가지고 리뷰를 진행하기로 했다.

 

뭘 만들지 결정을 못하겠어서 일단 예정되었던 미션을 빨리 해결하기로 했다.

 

1. 파이썬의 자료형

자료형 역할 가변/불변
int 숫자형, 정수형 데이터 불변
float 숫자형, 실수형 데이터 불변
complex 숫자형, 복소수 데이터 불변
bool 숫자형, 논리값 거짓과 참 - True or False 불변
string 시퀀스형, 유니코드 코드 포인트를 표현하는 값들 불변
list 시퀀스형, 임의의 객체 가변
tuple 시퀀스형, 임의의 객체 불변
set 집합형, 중복없고 순서없는 유한한 가변형 집합 가변
frozen sets 집합형, 중복없고 순서없는 유한한 불변형 집합 불변
dictionary 매핑형, 임의의 인덱스 집합으로 인덱싱되는 객체들의 유한한 집합 가변

파이썬 문서에서 대략적으로 정리해보았다.

 

정리도중에 불변객체 / 가변객체의 개념을 접했는데 이거 이해하기까 꽤나 힘들었다.

 

C를 기반으로 다른 언어들을 익히다보니 C와는 완전히 다른 파이썬의 변수개념에서 꽤나 삐걱댐

 

대충 정리하면 파이썬의 변수는 value(값), type(데이터형), id(메모리주소)로 구성되는데, 연산의 결과를 변수가 가리키는 메모리에 저장하는 C와는 다르게 파이썬의 변수는 연산의 결과가 있는 id를 가리키는 방식으로 작동하는 것 같다.

 

일단 이렇게 넘어가고, 가변 / 불변의 개념은 객체의 값을 변경이 가능하느냐에 따라 나뉘는데 다른 데이터형은 차치하고서라도 정수형 데이터는 연산 결과로 값이 변하는 것처럼 느껴졌었는데 id를 확인해보니 아예 다른 주소로 바뀌는 것을 보고 실제 동작하는 형태를 알게되었다.

 

C랑은 굉장히 다른 개념이어서 이해하기가 꽤나 힘들었다.

 

나머지 미션은 내일 빨리 마무리하고 주제선정 고민해보자.