Programming Languages/Python
데이터 타입(Data Types) 알아보기
newclass
2025. 3. 21. 07:13
파이썬에는 여러 가지 데이터 타입이 있습니다. 이는 학교 과목(국어, 수학, 영어 등)이 다른 것처럼, 각 데이터도 종류가 다르다고 생각하면 됩니다.
1. 숫자(Numbers)
# 정수(Integer) - 소수점이 없는 숫자
a = 10
# 실수(Float) - 소수점이 있는 숫자
b = 3.14
# 복소수(Complex) - 실수부와 허수부로 구성된 숫자
c = 3 + 4j
print(a, type(a)) # 10 <class 'int'>
print(b, type(b)) # 3.14 <class 'float'>
print(c, type(c)) # (3+4j) <class 'complex'>
숫자는 일상생활에서 가장 많이 사용하는 데이터 중 하나입니다:
- 정수(int): 1, 2, 3, -5, 0 등 소수점이 없는 숫자
- 실수(float): 3.14, 2.71828, -0.5 등 소수점이 있는 숫자
- 복소수(complex): 3+4j 등 수학의 복소수를 표현 (j는 허수 단위)
1. 정수 (Integer): 소수점이 없는 숫자
age = 25
negative = -10
zero = 0
big_number = 1000000
2. 실수 (Float): 소수점이 있는 숫자
height = 175.5
pi = 3.14159
negative_float = -0.5
3.복소수 (Complex): 실수와 허수부로 구성된 숫자
complex_number = 3 + 4j # 3은 실수부, 4j는 허수부
2. 문자열(Strings)
문자열은 텍스트 데이터를 저장합니다. 이는 편지나 메모와 같습니다.
# 문자열 선언
인사말 = "안녕하세요!"
긴_문장 = '''여러 줄에 걸친
문자열을 작성할 때는
따옴표 세 개를 사용합니다.'''
print(인사말)
print(긴_문장)
# 문자열 일부 추출하기(슬라이싱)
s = "Python Programming"
print(s[0]) # P (첫 번째 문자)
print(s[0:6]) # Python (0부터 5까지)
문자열에 대해 알아야 할 점:
- 문자열은 따옴표(' 또는 ")로 둘러싸여 있습니다.
- 파이썬에서 인덱스는 0부터 시작합니다 (첫 번째 문자의 위치는 0).
- 슬라이싱을 사용하면 문자열의 일부를 추출할 수 있습니다.
- 문자열은 변경할 수 없는(immutable) 데이터 타입입니다. 즉, 한 번 생성된 문자열의 일부를 직접 변경할 수 없습니다.
문자열은 작은따옴표(') 또는 큰따옴표(")로 둘러싸인 텍스트입니다.
name = "홍길동"
message = '안녕하세요'
multiline = """이것은
여러 줄에 걸친
문자열입니다."""
문자열 연산
# 문자열 연결
first_name = "홍"
last_name = "길동"
full_name = first_name + last_name # "홍길동"
# 문자열 반복
echo = "안녕" * 3 # "안녕안녕안녕"
# 문자열 인덱싱 (0부터 시작)
text = "파이썬"
first_char = text[0] # "파"
last_char = text[-1] # "썬"
# 문자열 슬라이싱 (범위 추출)
text = "파이썬 프로그래밍"
substr = text[0:3] # "파이썬"
3. 불리언(Boolean)
불리언은 참(True) 또는 거짓(False) 두 가지 값만 가질 수 있습니다. 이것은 마치 예/아니오 질문의 답변과 같습니다.
# 참/거짓 값
참 = True
거짓 = False
print(참, 거짓) # True False
# 비교 연산의 결과로 불리언 값을 얻을 수 있습니다
print(10 > 5) # True - 10이 5보다 큰가요? 네!
print(1 == 2) # False - 1이 2와 같은가요? 아니요!
print(5 >= 5) # True - 5가 5보다 크거나 같은가요? 네!
is_student = True
is_adult = False
# 비교 연산의 결과는 불리언입니다
x = 10
is_greater = x > 5 # True
is_equal = x == 5 # False
불리언 타입은 주로 조건문과 반복문에서 많이 사용됩니다. 어떤 조건이 참인지 거짓인지에 따라 프로그램의 실행 흐름을 제어할 수 있습니다.
None 타입
None은 값이 없음을 나타내는 특별한 데이터 타입입니다.
result = None # 아직 값이 할당되지 않았음을 표시
타입 확인 및 변환
type() 함수를 사용하여 변수의 데이터 타입을 확인할 수 있습니다.
x = 10
y = 3.14
name = "파이썬"
is_valid = True
print(type(x)) # <class 'int'>
print(type(y)) # <class 'float'>
print(type(name)) # <class 'str'>
print(type(is_valid)) # <class 'bool'>
데이터 타입 간의 변환
# 문자열 -> 숫자
age_str = "25"
age_int = int(age_str) # 25 (정수)
height_str = "175.5"
height_float = float(height_str) # 175.5 (실수)
# 숫자 -> 문자열
count = 10
count_str = str(count) # "10" (문자열)
# 불리언 변환
empty_string = ""
print(bool(empty_string)) # False (빈 문자열은 False)
print(bool("Hello")) # True (비어있지 않은 문자열은 True)
print(bool(0)) # False (0은 False)
print(bool(1)) # True (0이 아닌 숫자는 True)
4. 리스트(Lists)
리스트는 여러 항목을 순서대로 저장하는 데이터 타입입니다. 이것은 마치 장바구니에 여러 물건을 담는 것과 같습니다.
# 리스트 생성 - 대괄호 [ ] 사용
과일 = ["사과", "바나나", "오렌지"] # 문자열로 구성된 리스트
숫자 = [1, 2, 3, 4, 5] # 숫자로 구성된 리스트
혼합 = [1, "파이썬", True, 3.14] # 다양한 타입의 데이터를 담은 리스트
print(과일) # ['사과', '바나나', '오렌지']
print(숫자) # [1, 2, 3, 4, 5]
print(혼합) # [1, '파이썬', True, 3.14]
# 리스트 조작하기
과일.append("포도") # 리스트 끝에 항목 추가
print(과일) # ['사과', '바나나', '오렌지', '포도']
과일.remove("바나나") # 항목 제거
print(과일) # ['사과', '오렌지', '포도']
print(과일[0]) # 첫 번째 항목 접근: '사과'
과일[0] = "키위" # 항목 변경
print(과일) # ['키위', '오렌지', '포도']
# 리스트 길이 확인
print(len(과일)) # 3 - 리스트에 있는 항목의 개수
리스트에 대해 알아야 할 점:
- 리스트는 대괄호 []로 생성합니다.
- 리스트 항목은 쉼표로 구분합니다.
- 리스트는 다양한 타입의 데이터를 함께 저장할 수 있습니다.
- .append(), .remove() 등의 메서드를 사용하여 리스트를 수정할 수 있습니다.
- 리스트는 인덱스를 사용하여 항목에 접근할 수 있습니다 (0부터 시작).
- 리스트는 변경 가능한(mutable) 데이터 타입입니다.