**파이썬 자료형
숫자 : 정수형 (정수, 불리언), 실수
집합형 : 집합
매핑 : 딕셔너리
시퀀스 : 불변(문자열, 튜플, 바이트, 불, 인트, 플로트), 가변(리스트, 세트, 딕셔너리)
**숫자 :
- 파이썬은 숫자 정수형으로 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나 자바 등이 있음
- 원시타입을 객체로 선언하면 여러가지 작업을 수행할 수 있다.
- 좀 더 하드웨어에 가깝기 때문에 성능면에서 좋다.
**객체
- 불변 객체
값을 담고있는 변수는 실제로 참조일뿐, 실제로 값은 변하지 않음
- 가변 객체
리스트가 대표적인 예
실제로 값이 변경됨
*불변객체는 값을 할당하더라고 기존의 값이 바뀌지 않고, 가변객체는 기존의 값이 바뀐다.
'백엔드 > os 및 일반 지식' 카테고리의 다른 글
컴퓨터 내부의 언어 체계 - 비트, 논리 연산 (0) | 2022.02.11 |
---|---|
트랜잭션 (0) | 2022.02.03 |
객체지향 프로그래밍이란?? (0) | 2022.01.05 |
프로그래머의 세계 이해하기 (0) | 2022.01.04 |
프로그래밍 언어 이해하기 (0) | 2022.01.03 |