Python에서 데이터 타입(data type)은 데이터를 저장하는 다양한 형식을 의미합니다. 튜플, 실수(float), 문자열, 리스트 등이 대표적인 예이며, 각 데이터 타입은 고유한 규칙과 용도를 가지고 서로 다른 종류의 데이터를 저장합니다.
Python 데이터 타입이란?
데이터 타입은 프로그래밍에서 특정 종류의 데이터를 저장하는 방식을 말하며, 숫자, 문자열, 리스트 등이 여기에 포함됩니다. 각 데이터 타입은 고유한 규칙과 연산 방식을 가지고 있기 때문에 상황에 맞는 올바른 타입을 선택하는 것이 중요합니다. 잘못된 타입을 사용하면 원하는 기능을 수행하지 못할 수도 있습니다. 예를 들어 문자열에는 숫자 전용 연산을 적용할 수 없습니다.
Python은 데이터를 저장하기 위한 다양한 내장(built-in) 데이터 타입을 제공합니다. 이 글에서는 Python에서 가장 많이 사용되는 데이터 타입들을 하나씩 살펴보겠습니다.
각 데이터 타입은 방대한 기능을 담고 있어 이 글이 모든 세부 사항을 다루지는 못하지만, 글을 끝까지 읽고 나면 Python 데이터 타입을 실무에서 활용할 수 있는 기본기를 갖추게 될 것입니다.
문자열(String)
문자열은 하나 이상의 문자로 이루어진 시퀀스(연속된 나열)로, 알파벳, 숫자, 기호, 공백 등을 포함할 수 있습니다. Python에서 문자열은 작은따옴표('') 또는 큰따옴표("")로 선언하며, 시작과 끝에 반드시 같은 종류의 따옴표를 사용해야 합니다.
다음은 Python 문자열의 예입니다.
'This is an example string!'
다른 데이터와 마찬가지로 문자열도 변수에 할당할 수 있습니다. 프로그램에서 데이터를 저장해 두었다가 나중에 재사용할 때 유용합니다.
example_string = 'This is an example string!'
문자열은 텍스트 값을 저장하는 데 사용되며, 문자열 연결(concatenation), 분할(split), 병합(join)처럼 텍스트를 조작하는 다양한 연산도 지원합니다.
숫자(Number)
Python은 숫자를 표현하기 위해 두 가지 데이터 타입을 제공합니다. 바로 소수점이 없는 정수(integer)와 소수점이 있는 실수(float)입니다. Python에서 숫자를 입력하면 자동으로 적절한 데이터 타입이 지정됩니다.
정수(Integer)
정수는 양수 또는 음수의 값을 가질 수 있는 온전한 수(whole number)입니다. Python에서는 주로 int라고 부르며, 큰 숫자에 콤마(,)를 포함하지 않습니다.
다음은 Python 정수의 예입니다.
print(5)
이 코드는 5를 출력합니다.
정수에는 수학 연산을 수행할 수도 있습니다. 아래는 기본적인 덧셈 예제입니다.
example_addition = 10 + 10 print(example_addition)
실행 결과는 20입니다.
실수(Float)
실수(float), 즉 부동소수점수(floating-point number)는 소수점과 분수 값을 저장할 수 있는 실수(real number)입니다. 정수와 달리 소수점이 포함된 숫자를 저장할 때 사용합니다.
다음은 Python 실수의 예입니다.
print(2.5)
이 코드는 2.5를 출력합니다.
정수와 마찬가지로 실수에도 수학 연산을 적용할 수 있습니다. 예를 들어 두 개의 소수를 더하려면 다음과 같이 작성하면 됩니다.
example_decimal_addition = 10.9 + 22.2 print(example_decimal_addition)
실행 결과는 33.1입니다.
불리언(Boolean)
불리언은 참(True) 또는 거짓(False), 두 가지 값 중 하나만 가질 수 있는 데이터 타입입니다. 어떤 대상이 두 가지 상태 중 하나만 가질 수 있는 경우에 사용됩니다.
다음은 Python 불리언의 예입니다.
example_boolean = True
여기서 True가 대문자로 시작한다는 점에 주목하세요. True와 False는 Python의 특별한 값이기 때문에 항상 첫 글자를 대문자로 작성해야 합니다.
불리언은 프로그램에서 조건이 충족되었는지 판단할 때 매우 중요합니다. 예를 들어, 두 학생 중 누가 더 높은 점수를 받았는지 확인하고 싶은 선생님이라면 다음과 같은 코드를 사용할 수 있습니다.
alex = 9 sophie = 10 highest_grade = alex > sophie print(highest_grade)
실행 결과는 False입니다.
프로그램은 Alex와 Sophie의 점수를 비교하여 Alex의 점수가 Sophie보다 큰지 평가했습니다. Sophie가 더 높은 점수를 받았기 때문에 결과는 False가 된 것입니다.
불리언은 값 비교 구문에서 자주 사용됩니다. 어떤 값이 다른 값보다 작은지, 큰지, 같은지 확인하고 싶다면 두 값을 평가한 결과를 불리언에 저장하면 됩니다.
리스트(List)
리스트는 요소(element), 즉 item들이 순서대로 나열된 시퀀스입니다. 리스트는 변경 가능(mutable)하기 때문에 생성 후에도 내용을 수정할 수 있습니다. Python에서 리스트는 대괄호([]) 안에 콤마로 구분된 값들을 넣어 정의합니다.
다음은 학생 이름 리스트의 예입니다.
students = ['Dale', 'Chloe', 'Alice', 'Jim']
리스트는 어떤 데이터 타입이든 저장할 수 있습니다. 불리언이나 실수의 목록을 저장하고 싶다면 마찬가지로 대괄호 안에 넣으면 됩니다. 다음은 정수 리스트의 예입니다.
student_grades = [25, 28, 22, 24]
리스트는 여러 값을 하나의 변수에 저장할 수 있어 매우 유용합니다. 값마다 변수를 따로 선언할 필요가 없습니다. 또한 리스트는 변경 가능하기 때문에 필요에 따라 요소를 자유롭게 조작할 수 있습니다.
튜플(Tuple)
튜플 역시 요소들의 순서가 있는 시퀀스입니다. 하지만 리스트와 달리 튜플은 불변(immutable)이므로 한 번 생성하면 내용을 변경할 수 없습니다. 튜플은 괄호(()) 안에 콤마로 구분된 값들을 나열해 선언합니다.
다음은 Python 튜플의 예입니다.
desserts = ('Chocolate Cake', 'Toffee Brownie', 'Apple Pie')
튜플은 저장하고 싶은 항목 목록이 있지만, 나중에 그 값을 변경할 계획이 없을 때 유용한 데이터 타입입니다.
딕셔너리(Dictionary)
Python 딕셔너리는 순서가 없고(unordered), 인덱싱 가능하며(indexed), 변경 가능한(mutable) 항목들의 집합입니다. 딕셔너리의 항목들은 특정 순서 없이 저장되며, 각 항목은 고유한 인덱스 값, 즉 키(key)를 가지고 있어 개별 요소를 참조할 때 사용됩니다. 그리고 딕셔너리의 내용은 언제든 변경할 수 있습니다.
딕셔너리는 중괄호({}) 안에 값들을 나열해 선언합니다.
딕셔너리는 서로 관련된 데이터를 함께 보관할 때 자주 사용됩니다. 예를 들어 신발 가게를 운영하면서 재고 신발의 브랜드명, 제품명, 가격을 저장하고 싶다고 가정해 봅시다. 다음은 그중 한 신발을 저장하는 딕셔너리의 예입니다.
jordan_6s = {
'name': 'Jordan 6 Rings',
'price': 57.50,
'brand_name': 'Jordan'
}
위 딕셔너리에 콜론(:)이 포함되어 있는 이유는, 딕셔너리가 키(key)와 값(value)이라는 두 부분으로 구성되기 때문입니다. 이 예제에서 키는 name, price, brand_name이며, 이 키들을 사용해 해당 값을 가져올 수 있습니다.
예를 들어 Jordan 6 Rings의 가격을 조회하고 싶다면 다음 코드를 사용하면 됩니다.
print(jordan_6s['price'])
실행 결과는 57.5입니다. 이처럼 딕셔너리의 키/값 쌍 구조는 Python에서 폭넓게 활용되며, 서로 연관된 데이터를 저장할 때 특히 유용합니다.
집합(Set)
Python 집합(set)은 순서가 없는 요소들의 컬렉션입니다. 집합의 모든 항목은 고유(unique)해야 하므로 중복된 값은 허용되지 않습니다. 또한 집합은 불변이므로 선언된 이후에는 값을 변경할 수 없습니다.
집합은 콤마로 구분된 값들을 중괄호({}) 안에 넣어 정의합니다.
집합은 합집합(union)이나 교집합(intersection) 같은 수학적 연산을 수행할 때 Python에서 자주 사용됩니다. 다음은 Python 집합의 예입니다.
colors = {'Red', 'Orange', 'Yellow', 'Green'}
마치며
Python은 특정 종류의 데이터를 저장하기 위한 다양한 내장 데이터 타입을 제공합니다. 가장 많이 사용되는 데이터 타입은 문자열(string), 정수(integer), 실수(float), 리스트(list), 딕셔너리(dictionary), 집합(set), 튜플(tuple)입니다.
이 글에서는 각 데이터 타입의 기본 개념과 Python 프로그램에서의 활용 사례를 살펴보았습니다. 이제 여러분도 전문가처럼 Python 데이터 타입을 다룰 준비가 되었습니다!