[Python 기초] 자료형

반응형

Picture 1) python Logo

자료형은 프로그래밍 언어의 핵심적인 정체성이자 기본이고, 핵심 단위입니다.

 

python이 다른 언어에 비해서 쉽고 생산성이 높은 핵심적인 이유가 무엇일까요?

바로 자료형의 범용성 때문입니다.

 

python 자료형의 대표적인 장점이 3가지 있습니다.

1. 자료(Data)를 쉽게 원하는 형태로 만들 수 있다.

2. 서로 다른 자료형간의 변환이 원활하다.

3. 자료형이 객체(Object)이기 때문에 메소드를 이용하여 한줄에 다양한 일들을 처리할 수 있다.

 

그렇다면, python의 기본적인 7가지 자료형을 알아보겠습니다.

자료형을 확인하는 함수는 type() 입니다.

1. 숫자형

1) int (정수)

정수형(integer) 자료형은 양의 정수, 음의 정수, 그리고 0을 대입할 수 있습니다.

2) float (실수)

실수형(floating-point)에는 허수가 아닌 모든 실수가 저장됩니다. 

* 위에서 정의했던 정수는 float() 함수를 이용하여 실수로 변경이 가능합니다. (정수가 실수가되면 소수점이 생깁니다.)

3) complex (복소수)

복소수(complex) 자료형은 다음과 같이 2 가지 방법으로 저장이 가능합니다.

복소수를 쓸때는 허수부분에 j를 붙여써주면 됩니다.

 

2. 문자열 (string)

문자열(string)이란 개별 문자(char)들의 집합을 의미합니다. (다른 언어와 달리 한개의 문자도 파이썬에선 문자열로 저장됩니다.)

또한 공백이 있어도 문자열로 저장됩니다.

 

3. 리스트 (list)

리스트(list) 자료형은 여러 요소(element)를 묶어 하나의 변수로 활용합니다. 요소들의 자료형은 어떤 형식이든 상관이 없습니다.

심지어 리스트 자체를 요소로 쓸 수 도있고, 튜플이나 딕셔너리 등의 자료형도 요소로 사용할 수 있습니다.

 

4. 튜플 (tuple)

튜플(tuple)자료형은 리스트와 2 가지 차이를 제외하고 똑같이 작동합니다.

1) 리스트는 구성 요소(element)를 생성, 삭제, 수정이 가능하지만, 튜플은 안됩니다. 즉, 튜플은 변경이 안됩니다.

2) 리스트는 대괄호 [ ]로 감싸지만, 튜플은 소괄호 ( )로 감쌉니다.

 

저는 이 2가지 차이만 있는데 굳이 튜플 자료형이 따로 있을까 궁금했습니다.

이유는 리스트 자료형과 튜플 자료형의 생성 속도 차이가 있으며, 튜플 자료형의 생성속도가 매우 빠릅니다.

또한, 튜플 내부 요소는 변경되지 않기 때문에 변경되지 않아야할 값들의 리스트를 쓰고싶을때 튜플을 쓰면 좋습니다.

 

 

5. 딕셔너리 (dictionary)

딕셔너리(dictionary) 자료형은 key와 value가 짝을 이루어 하나의 요소가 되는 자료형입니다. 딕셔너리 내부에서 key 값은 고유값(unique value)이어야 합니다.

만약, 기존에 있는 key에 다른 value가 들어가면, 마지막에 수정된 key:value가 딕셔너리에 저장됩니다.

key로 가능한 자료형으로 unmutable 자료형(str, 숫자형, tuple)이어야 합니다. (아래처럼 list를 key로 사용하면 에러)

* unmutable 자료형이란 튜플처럼 변경이 안되는 자료형입니다. (변수에 값을 재지정하는 것은 변경이 아니라 재지정(reassign 입니다.)

 

6. 집합 (set)

집합(set) 자료형은 2가지 특징을 가진 자료형입니다.

1) 요소들이 고유값(unique)이다. (중복이 없다.)

2) 순서가 없다.

보통, list 내부의 중복을 제거할 때나 합집합, 교집합, 차집합을 알고싶을 때 사용합니다.

집합내부에 문자열 apple를 넣으면 개별 문자를 모두 요소로 보기때문에 중복된 p가 1번만 쓰입니다.

 

7. 불 (bool)

불(bool) 자료형은 참(True) 거짓(False)을 의미합니다.

조건문에서, 조건식이 참이냐 거짓이냐를 따질때 사용합니다.

숫자형에서 0은 False로 쓰이고, 0외의 숫자는 모두 True로 사용될 수 있습니다.

또한, 리스트, 튜플, 딕셔너리, 집합에 대해서 비어있으면 False로 사용될 수 있고, 비어있지 않으면 True로 사용될 수 있습니다.

그리고, 앞에 not을 붙이게 되면 True는 False로 바뀌고, False는 True로 바뀌게됩니다.

 

위의 실습 코드 깃허브

https://github.com/netsus/python_practice/blob/master/python_practice_1_datatype.ipynb

Reference

Picture 1) https://ourcodeworld.com/articles/read/734/why-is-python-the-future-of-programming

 

 

반응형

댓글

Designed by JB FACTORY