본문 바로가기

언어/Python

[개념] Python의 기본자료형 개념(int, float, complex, boolean, str, list, tuple, set, dict)

프로그래밍 언어에서 자료형이 무엇인지 꼭 대략적으로라도 개념을 알아야 한다.

 

자료형은 컴퓨터가 자료를 인식하는 형식이다.

 

예를 들어 20200822라는 데이터가 주어졌다고 가정해보자.

 

우리는 기본적(Default)으로 이를 숫자로 인식하지만 보기에 따라 날짜라고 인식할 수도 있고, 상황에 따라 문자라고 인식할 수도 있다.

 

컴퓨터도 마찬가지다.

 

컴퓨터에 20200822라는 데이터를 입력할 때, 컴퓨터는 입력된 데이터의 형식으로 데이터를 인식한다.

 

이를 정수(숫자), 날짜, 문자로 인식하는 것은 사람이 입력해주기 나름이라는 것이다.

 

그래서 만약에 파이썬에 어떤 데이터를 불러왔는데, 숫자값이 정수형이 아닌 문자형으로 저장되어 있었다면 우리는 이 값을 이용한 연산을 할 수가 없다.

 

왜냐하면 우리 눈에는 숫자로 보여도, 데이터 자체는 문자형으로 저장되어 컴퓨터는 이를 문자로 인식하기 때문이다.

(컴퓨터는 할당된 변수가 아닌 문자를 계산할 수는 없다.)

 

 

컴퓨터에게 주어진 모든 데이터에는 이런 자료형이 지정되어 있다.

 

파일을 불러와서 통계분석을 할 때, 이 자료형으로 애를 먹는 경우가 많다.

 

패키지의 함수가 요구하는 자료형이 다른데 이를 숙지하지 못해서 ERROR가 뜨는 경우가 많다.

 

만일 자료형에 대한 이해가 없다면 이러한 오류를 해결하지 못할 수도 있기 때문에 자료형에 대한 이해는 필수적이다.

 

 

자 그럼 자료형의 종류를 알아보자.


  • 자료형의 종류

- 수치자료형

 

  1. 정수형 int : 말 그대로 정수형 자료 ex) 1, 20, 100 등
  2. 실수형 float : 실수형태의 자료 ex) 1.03, pi, e-1
  3. 복소수형 complex : 복소수형인테 통계에서는 잘 안 씀 ex) 3+2.7j
  4. 8진수 int : 0o로 시작해 뒤의 숫자를 8진법으로 표현하는 정수 ex) 0o75
  5. 16진수 int : 0x로 시작해 뒤의 숫자를 16진법으로 표현하는 정수 ex) 0x1FF

 

- boolean 자료형

 

불(boolean)형 bool : True, False를 저장 (자주 사용됨)

 

 

 

- 문자열 자료형

 

1. 문자열 str : 문자열은 ' ' 혹은 " " 혹은 """ """ 안에 표현된 문자. ex) 'computer', "monitor" """문장 문장 문장"""

 

2. 바이트형 bytes : byte로 이루어진 문자열 지원하는 타입. ex) b= b'PlanB' #문자 앞에 b를 붙여 bytes 표현

 

 

- 집합형 자료형

 

1. 리스트형 list : 대괄호로 표현, 여러 자료형을 담을 수 있음, 순서가 부여되어 인덱스, 슬라이싱 가능,

리스트 내에 중복된 자료 가능,

리스트에 자료를 삽입하거나 리스트에 있는 자료를 삭제하거나 순서대로 정렬할 수 있다. (mutable)

ex) [3, 1, 2, 3]

 

2. 튜플 tuple : 소괄호로 표현, 리스트와 거의 비슷하지만 튜플 내의 자료 변경 불가능 (immutable)

튜플 내에 중복된 자료 가능

인덱스, 슬라이싱 가능

ex) (3, 1, 2, 3)

 

3. 집합형(셋) set : 중괄호로 표현, 순서가 없어서 인덱스 슬라이싱 불가능 (mutable)

셋 내에 중복된 자료 불가능

하지만 셋 내의 자료 변경 가능

ex) {1, 2, 3}

 

4. 사전형(딕셔너리) dict : set의 일종인데 키와 값을 대응해서 쌍으로 구성된 set. set와 비슷한 특징을 지녔다.

키는 중복될 수 없고, 인덱스, 슬라이싱 불가

딕셔너리 내 변경이 가능 (immutable)

ex) {1:10, 2:20}

 

- 기타 자료형

 

None형 : 아무 데이터를 가지고 있지 않음을 표현하는 하나의 객체

 

 

[참고 블로그]

withcoding.com/66 ,

planbs.tistory.com/entry/Python-%EB%B3%80%EC%88%98%EC%99%80-%EA%B8%B0%EB%B3%B8-%EC%9E%90%EB%A3%8C%ED%98%95