[Python]파이썬 데이터 타입
Updated:
파이썬의 데이터 타입을 정리한 글입니다.
1. 데이터 타입
자료형(資料型) 또는 데이터 타입(영어: data type)은 컴퓨터 과학과 프로그래밍 언어에서 실수치, 정수, 불린 자료형 따위의 여러 종류의 데이터를 식별하는 분류로서, 더 나아가 해당 자료형에 대한 가능한 값, 해당 자료형에서 수행을 마칠 수 있는 명령들, 데이터의 의미, 해당 자료형의 값을 저장하는 방식을 결정한다. - 위키백과
파이썬의 데이터 타입은 크게 다음과 같이 분류할 수 있습니다.
- 숫자형, Numeric Types
- 시퀀스, Sequence Types
- 매핑, Mapping Type
- 집합, Set Types
- 불, Boolean Type
2. 숫자형(Numeric Types)
숫자형의 분류
숫자를 나타내는 자료형으로는 정수(int), 부동소수점수(float), 복소수(complex)가 있습니다.
>>> type(100000000) # 정수
<class 'int'>
>>> type(2.8) # 부동소수점수
<type 'float'>
>>> type(3+4j) # 복소수
<type 'complex'>
int
는 정수(integer)를 나타냅니다.
float
는 원래 부동소수점수(floating-point number)를 가리키는데, 소수점이 포함된 숫자를 나타낼 수 있습니다.
complex
로는 복소수를 나타낼 수 있습니다.
숫자형의 연산
숫자형은 연산자를 통해 사칙연산이 가능합니다.
>>> a = 3
>>> b = 4
>>> a + b
7
>>> a - b
-1
>>> a * b
12
>>> a / b
0.75
제곱은 **
연산자를 통해 구할 수 있습니다.
>>> a = 3
>>> b = 4
>>> a ** b
81
나눗셈 후 몫과 나머지는 각각 //
과 %
연산자를 사용하여 계산할 수 있습니다.
>>> 7 / 4 # 나눗셈
1.75
>>> 7 // 4 # 몫
1
>>> 7 % 3 # 나머지
1
3. 시퀀스(Sequence Types)
시퀀스에는 문자열(str), 리스트(list), 튜플(tuple), 사용자 정의 클래스가 포함됩니다.
>>> type("Hello Python")
<class 'str'>
>>> type(['Hello', 'Python'])
<class 'list'>
>>> type(('Hello', 'Python'))
<class 'tuple'>
문자열(str)
문자열은 따옴표 안에 문자열을 넣어서 정의할 수 있습니다. 파이썬에서는 네가지 방법으로 정의할 수 있습니다.
-
큰따옴표(“)로 양쪽 둘러싸기
"Hello Python"
-
작은따옴표(‘)로 양쪽 둘러싸기
'Hello Python'
-
큰따옴표 3개를 연속(“”“)으로 써서 양쪽 둘러싸기
"""Hello Python"""
-
작은따옴표 3개를 연속(‘’‘)으로 써서 양쪽 둘러싸기
'''Hello Python'''
리스트(list)
리스트는 대괄호([ ])로 감싸 주어서 정의할 수 있으며, 각 요솟값은 쉼표(,)로 구분해 줍니다.
리스트명 = [요소1, 요소2, 요소3, ...]
리스트는 비어있는 리스트를 생성할 수도 있고, 숫자와 문자열을 함께 요소로 가질 수도 있고, 다른 리스트를 요소로 가질 수도 있습니다.
>>> a = [] # 비어있는 리스트
>>> b = list() # 비어있는 리스트
>>> c = [1, 2, 'Hello', 'Python'] # 숫자형과 문자열을 요소로 갖는 리스트
>>> d = [1, 2, ['Hello', 'Python']] # 리스트를 요소로 갖는 리스트
튜플(tuple)
튜플은 리스트와 몇 가지 차이점을 제외하고는 거의 비슷합니다.
리스트는 [ ]으로 둘러싸서 정의하지만, 튜플은 ( )으로 둘러싸서 정의합니다. 또한, 리스트는 요소 값의 생성, 삭제, 수정이 가능하지만 튜플은 요소 값을 바꿀 수 없습니다. 따라서 프로그램이 실행되는 동안 요솟값이 항상 변하지 않아야 한다면 튜플을 사용해야 하고, 수시로 그 값을 변화시켜야 할 경우라면 리스트를 사용해야 합니다.
>>> t1 = ()
>>> t2 = (1,) # 1개의 요소만을 가질 때는 요소 뒤에 콤마(,)를 반드시 붙여야 함
>>> t3 = (1, 2, 3)
>>> t4 = 1, 2, 3 # 괄호( )를 생략해도 됨
>>> t5 = ('a', 'b', ('ab', 'cd'))
4. 매핑(Mapping)
딕셔너리(dict)는 키(key)와 값(value)의 짝으로 이뤄집니다. 딕셔너리는 리스트나 튜플처럼 순차적으로(sequential) 해당 요솟값을 구하지 않고 Key를 통해 Value를 얻습니다.
>>> type({'key1': 'Value1', 'key2': 'Value2', 'key3': 'Value3'})
<class 'dict'>
각각의 요소는 Key : Value 형태로 이루어져 있고 쉼표(,)로 구분되어 있습니다. 그리고 이를 중괄호{}로 둘러싸서 정의할 수 있습니다.
>>> dic = {'name':'pey', 'phone':'010-9999-1234', 'birth': '1118'}
위에서 Key는 각각 ‘name’, ‘phone’, ‘birth’이고, 각각의 Key에 해당하는 Value는 ‘pey’, ‘010-9999-1234’, ‘1118’이 됩니다.
5. 집합(세트, Set)
집합 자료형은 집합에 관련된 것을 쉽게 처리하기 위해 만든 자료형으로, 원소의 순서가 유지되지 않고 중복 원소를 갖지 않는 ‘집합’으로서의 특징이 있으며, 집합 연산을 사용할 수 있습니다.
>>> s1 = set([1,2,3])
>>> s1
{1, 2, 3}
>>> s2 = set("Hello")
>>> s2
{'e', 'H', 'l', 'o'}
>>> s3 = set() # 비어있는 집합
집합 자료형은 set() 괄호 안에 리스트를 입력하거나 문자열을 입력하여 정의할 수 있습니다.
6. 불(Boolean)
불(bool) 자료형은 참(True)과 거짓(False)을 나타내는 자료형입니다.
>>> type(False)
<class 'bool'>
>>> 2 > 1
True
>>> type(2 > 1)
<class 'bool'>
Reference
Leave a comment