본문 바로가기

백엔드/os 및 일반 지식

자료형

반응형

**파이썬 자료형

숫자 : 정수형 (정수, 불리언), 실수

집합형 : 집합

매핑 : 딕셔너리

시퀀스 : 불변(문자열, 튜플, 바이트, 불, 인트, 플로트), 가변(리스트, 세트, 딕셔너리)

 

 

**숫자 :

- 파이썬은 숫자 정수형으로 int만 제공. 파이썬은 버전이 2.4부터는 int가 충분하지 않으면 자동으로 long으로 전환. C와 같은 오버플로우가 발생하지않음. 버전 3부터는 아예 int 단일형으로 통합.

- bool은 논리 자료형, true와 false로 이루어져있고, int의 서브 클래스. 내부적으로는 정수값을 가지고 있어서, true는 1, false는 1이다. 

- 임의 정밀도란, 무제한 자릿수를 제공하는 정수형.

 

**매핑

- 키와 자료형으로 구성된 복합 자료형.

- 파이썬에 내장된 유일한 매핑 자료형은 딕셔너리.

 

 

**집합

- set은 중복된 값을 갖지않는 자료형

- 빈 셋은 

a = set()

값을 포함시킬 때는

a = {1,2,3}

과 같이 표현한다.

- 입력 순서가 유지되지 않으며, 중복된 값이 있을 경우 하나의 값만 유지.

 

**시퀀스

- 수열과 비슷. 어떤 대상의 순서 있는 나열을 뜻함.

- 불변 : str. tuple, bytes

- 가변 : 리스트

- 불변이라함은, 실제 값이 변경이 되지않는다는 것을 의미. 아래 예시 참고

a = 'abc'

id('abc')

43109410394

id(a)

43109410394

 

a='def'

id('def')

45784578475

id('a')

45784578475

 

a에 값을 변경한 것 같지만, 실제로는 다른 메모리에 남아있다. 다른 것을 참조하게 된 것이고, 변한게 아니다. 

 

 

**원시타입

- 메모리에 정확하게 타입 크기만큼의 공간을 할당

- C나 자바 등이 있음

- 원시타입을 객체로 선언하면 여러가지 작업을 수행할 수 있다.

- 좀 더 하드웨어에 가깝기 때문에 성능면에서 좋다.

 

 

**객체

- 불변 객체

값을 담고있는 변수는 실제로 참조일뿐, 실제로 값은 변하지 않음

 

- 가변 객체

리스트가 대표적인 예

실제로 값이 변경됨

 

*불변객체는 값을 할당하더라고 기존의 값이 바뀌지 않고, 가변객체는 기존의 값이 바뀐다.

 

 

 

 

 

 

 

 

 

반응형