Skip to Content
💻 코리아IT아카데미 신촌 - 프로그래밍 학습 자료

Topic 5: 기본 데이터 타입 - 숫자, 문자, 참/거짓 🎭

🎯 학습 목표

파이썬의 기본 데이터 타입(int, float, str, bool)을 이해하고, 각 타입의 특징과 사용법을 익혀 적절한 상황에서 활용할 수 있습니다.

📊 데이터 타입이란?

프로그래밍에서 데이터 타입은 데이터의 종류를 구분하고 각각을 적절히 처리하는 방법을 의미합니다:

age = 25 # 정수 (int) height = 175.5 # 실수 (float) name = "김파이썬" # 문자열 (str) is_student = True # 불린 (bool)

각 타입은 고유한 특성과 사용 목적을 가지고 있습니다:

  • 숫자: 계산과 수치 연산
  • 문자열: 텍스트 처리와 표현
  • 불린: 논리적 판단과 조건 처리

🔢 정수 타입 (Integer, int)

기본 개념

# 정수 타입의 다양한 예 age = 20 student_count = 150 temperature = -5 year = 2024 print(f"나이: {age}") print(f"학생 수: {student_count}") print(f"온도: {temperature}도") print(f"연도: {year}") # 타입 확인 print(f"age의 타입: {type(age)}") # <class 'int'>

정수 연산

# 기본 연산 a = 10 b = 3 print(f"덧셈: {a} + {b} = {a + b}") # 13 print(f"뺄셈: {a} - {b} = {a - b}") # 7 print(f"곱셈: {a} * {b} = {a * b}") # 30 print(f"나눗셈: {a} / {b} = {a / b}") # 3.3333... print(f"몫: {a} // {b} = {a // b}") # 3 print(f"나머지: {a} % {b} = {a % b}") # 1 print(f"거듭제곱: {a} ** {b} = {a ** b}") # 1000

🔢 실수 타입 (Float)

기본 개념

# 실수 타입 height = 175.5 weight = 68.7 pi = 3.14159 price = 12000.0 print(f"키: {height}cm") print(f"몸무게: {weight}kg") print(f"원주율: {pi}") print(f"가격: {price}원") print(f"height의 타입: {type(height)}") # <class 'float'>

실수와 정수 연산

# 다양한 수 타입 연산 x = 15.5 y = 4 print(f"실수 + 정수: {x} + {y} = {x + y}") # 19.5 print(f"실수 / 정수: {x} / {y} = {x / y}") # 3.875 print(f"실수 몫: {x} // {y} = {x // y}") # 3.0 print(f"실수 나머지: {x} % {y} = {x % y}") # 3.5

📝 문자열 타입 (String, str)

기본 사용법

# 문자열 타입 name = "김파이썬" message = '안녕하세요!' long_text = """여러 줄에 걸친 긴 문자열도 이렇게 쓸 수 있어요!""" print(f"이름: {name}") print(f"메시지: {message}") print(f"긴 텍스트:\n{long_text}") print(f"name의 타입: {type(name)}") # <class 'str'>

문자열 연결과 반복

# 문자열 합치기 first_name = "김" last_name = "파이썬" full_name = first_name + last_name print(f"전체 이름: {full_name}") # 반복하기 laugh = "하" * 5 print(f"웃음: {laugh}") # 하하하하하 # 숫자와 문자열 연결 age = 20 message = "나이: " + str(age) # 타입 변환 필요 print(message) # f-string 사용 (권장) message = f"나이: {age}" print(message)

문자열 메서드

# 문자열 변환 text = "Hello Python World" print(f"원본: {text}") print(f"대문자: {text.upper()}") print(f"소문자: {text.lower()}") print(f"첫글자만 대문자: {text.capitalize()}") print(f"단어별 첫글자 대문자: {text.title()}") # 한글 문자열 처리 korean_text = " 안녕하세요 파이썬 " print(f"원본: '{korean_text}'") print(f"공백 제거: '{korean_text.strip()}'") print(f"바꾸기: {korean_text.replace('파이썬', '프로그래밍')}")

문자열 정보 확인

# 문자열 분석 sentence = "파이썬은 재미있어요!" print(f"문장: {sentence}") print(f"길이: {len(sentence)}글자") print(f"'파이썬' 포함 여부: {'파이썬' in sentence}") print(f"'자바' 포함 여부: {'자바' in sentence}") print(f"'요!'로 끝나는가: {sentence.endswith('요!')}") print(f"'파이썬'으로 시작하는가: {sentence.startswith('파이썬')}")

✅ 불린 타입 (Boolean, bool)

기본 개념

# 불린 타입 is_student = True is_graduated = False has_license = True print(f"학생인가요? {is_student}") print(f"졸업했나요? {is_graduated}") print(f"자격증이 있나요? {has_license}") print(f"is_student의 타입: {type(is_student)}") # <class 'bool'>

비교 연산으로 불린 생성

# 비교 연산 age = 20 height = 175 name = "김파이썬" print(f"성인인가? {age >= 18}") # True print(f"키가 180 이상? {height >= 180}") # False print(f"이름이 김파이썬? {name == '김파이썬'}") # True print(f"키가 170과 다른가? {height != 170}") # True

논리 연산자 활용

# 여러 조건 조합 is_student = True print(f"성인이면서 키 170 이상? {age >= 18 and height >= 170}") # True print(f"학생이거나 미성년자? {is_student or age < 18}") # True print(f"학생이 아닌가? {not is_student}") # False

🔄 타입 변환

기본 타입 변환

# 정수 ↔ 실수 int_num = 42 float_num = float(int_num) print(f"{int_num}{float_num}") # 42 → 42.0 # 실수 → 정수 (소수점 버림) float_num = 3.8 int_num = int(float_num) print(f"{float_num}{int_num}") # 3.8 → 3 # 문자열 → 숫자 str_num = "123" int_from_str = int(str_num) float_from_str = float(str_num) print(f"'{str_num}' → {int_from_str} (정수)") print(f"'{str_num}' → {float_from_str} (실수)")

타입 확인

# 타입 확인 data_list = [42, 3.14, "Hello", True] print("데이터 타입 확인") print("-" * 20) for i, data in enumerate(data_list): data_type = type(data).__name__ print(f"{i+1}. {data}{data_type}")

🚨 자주 발생하는 오류와 해결법

타입 오류

# ❌ 오류 발생 # result = "10" + 5 # TypeError # ✅ 해결 방법 text_num = "10" num = 5 result = int(text_num) + num # 15 print(f"결과: {result}")

변환 오류

# ❌ 오류 발생 # int_num = int("3.14") # ValueError # ✅ 해결 방법 float_str = "3.14" int_num = int(float(float_str)) # 3 print(f"결과: {int_num}")

💡 퀴즈: 데이터 타입 이해도 체크

Q1. 다음 중 정수 타입은?

  1. 3.14
  2. “25”
  3. 42
  4. True

💡 정답 확인

정답: 3번 (42)

42는 정수(int) 타입입니다. 3.14는 실수, “25”는 문자열, True는 불린 타입입니다.

Q2. input() 함수의 결과 타입은?

  1. 정수(int)
  2. 실수(float)
  3. 문자열(str)
  4. 불린(bool)

💡 정답 확인

정답: 3번 (문자열)

input() 함수는 항상 문자열을 반환합니다. 숫자로 사용하려면 int()나 float()로 변환해야 합니다.

Q3. type() 함수의 역할은?

  1. 변수의 값을 바꾼다
  2. 변수의 타입을 확인한다
  3. 변수를 삭제한다
  4. 변수를 복사한다

💡 정답 확인

정답: 2번 (변수의 타입을 확인한다)

type() 함수는 변수나 값의 데이터 타입을 알려주는 함수입니다.

✅ 데이터 타입 마스터 체크리스트

✅ 데이터 타입 마스터 체크리스트

🎉 Unit 2 완주!

기본 데이터 타입까지 학습하면서 파이썬의 기본 요소들을 모두 완성했습니다!

🏆 Unit 2에서 배운 내용

  1. Hello World: 첫 번째 파이썬 프로그램 작성
  2. 출력과 입력: print와 input으로 소통하기
  3. 변수: 데이터를 저장하고 관리하기
  4. 연산자: 계산과 비교의 도구
  5. 기본 데이터 타입: 숫자, 문자, 참/거짓 다루기

🚀 이제 할 수 있는 것들

  • 사용자와 상호작용하는 프로그램 작성
  • 변수를 활용한 데이터 저장과 관리
  • 다양한 연산자로 계산과 비교 수행
  • 적절한 데이터 타입 선택과 변환
  • 기본적인 프로그램 로직 구현

축하합니다! 이제 파이썬 프로그래밍의 든든한 기초를 갖추셨습니다! 🎊

다음 Unit에서는 조건문과 반복문을 배워서 프로그램에 진정한 지능과 자동화 능력을 부여해보겠습니다!

Last updated on