02. Python 기초 — 데이터 타입
🎯 이 장의 목표
- 파이썬의 기본 데이터 타입(불·숫자·문자열)을 안다
- 여러 값을 담는 자료구조(리스트·튜플·딕셔너리·집합)를 구분하고 쓸 수 있다
- 각 타입을 언제 쓰는지 감을 잡는다
💡 팁
데이터 분석은 결국 "여러 값을 어떻게 담고 다루느냐"의 문제입니다. 이 장의 리스트·딕셔너리는 뒤에서 Pandas 데이터를 만들 때 그대로 쓰이니, 특히 잘 익혀 두세요.먼저: 데이터 타입이 뭔가요?
데이터 타입(data type)은 값의 종류입니다. 숫자인지, 글자인지, 참/거짓인지에 따라 할 수 있는 일이 달라집니다. 어떤 값의 타입이 궁금하면 type()으로 확인할 수 있습니다.
PYTHON
print(type(10)) print(type(3.14)) print(type("안녕")) print(type(True))
실행 결과:
CODE
<class 'int'> <class 'float'> <class 'str'> <class 'bool'>
기본 타입들
숫자: 정수(int)와 소수(float)
PYTHON
count = 10 # int (정수) height = 175.5 # float (소수점이 있는 수)
🔑 새 용어
- int: integer(정수). 소수점 없는 수. 예:
-3,0,42- float: floating-point number(부동소수점 수). 소수점이 있는 수. 예:
3.14,-0.5
문자열(str): 글자
따옴표("나 ')로 감싸면 문자열입니다.
PYTHON
greeting = "안녕하세요"
🔑 새 용어 — 문자열(string, str)
글자들이 줄지어 있는 것. "string"은 글자가 실에 꿰인 모양에서 온 말입니다.
문자열은 더하고(+로 잇기), 곱할(*로 반복) 수 있습니다.
PYTHON
print("데이터" + "분석") # 이어붙이기 print("하" * 3) # 반복
실행 결과:
CODE
데이터분석 하하하
문자열에는 유용한 기능(메서드)이 많습니다.
PYTHON
text = " Hello, Pandas " print(text.upper()) # 대문자로 print(text.lower()) # 소문자로 print(text.strip()) # 양 끝 공백 제거 print(text.replace("Pandas", "World")) # 바꾸기
실행 결과:
CODE
HELLO, PANDAS hello, pandas Hello, Pandas Hello, World
🔑 새 용어 — 메서드(method)값.기능()형태로 값에 딸려 오는 기능입니다.text.upper()는 "text라는 문자열아, 너를 대문자로 바꿔 줘"라는 뜻입니다. 9부 텍스트 데이터에서 이 문자열 메서드들을 데이터 분석에 그대로 활용합니다.
불(bool): 참과 거짓
PYTHON
is_student = True is_adult = False
🔑 새 용어 — 불(boolean, bool)
참(True)이나 거짓(False) 둘 중 하나만 가지는 타입입니다. 19세기 수학자 조지 불(George Boole)의 이름에서 왔습니다. 조건 판단의 기본이 되며, 3장 조건문에서 본격적으로 씁니다. (첫 글자는 항상 대문자:True,False)
여러 값을 담는 자료구조
이제 여러 값을 한꺼번에 담는 그릇들을 봅시다. 네 가지를 표로 먼저 비교하면:
| 타입 | 기호 | 순서 있음? | 바꿀 수 있음? | 중복 허용? | 한 줄 요약 |
|---|---|---|---|---|---|
| 리스트 list | [ ] | ✅ | ✅ | ✅ | 가장 많이 쓰는 만능 목록 |
| 튜플 tuple | ( ) | ✅ | ❌ | ✅ | 바뀌면 안 되는 목록 |
| 딕셔너리 dict | {키:값} | ✅* | ✅ | 키는 ❌ | 이름표로 값을 찾는 사전 |
| 집합 set | { } | ❌ | ✅ | ❌ | 중복 없는 모음 |
(*딕셔너리는 파이썬 3.7부터 입력 순서를 유지합니다.)
리스트(list): 가장 많이 쓰는 목록
대괄호 []로 값을 나열합니다. 순서가 있고, 자유롭게 바꿀 수 있습니다.
PYTHON
fruits = ["사과", "바나나", "포도"] print(fruits[0]) # 첫 번째 (번호는 0부터!) print(fruits[-1]) # 마지막 print(len(fruits)) # 개수
실행 결과:
CODE
사과 포도 3
⚠️ 흔한 실수
흔한 실수 — 번호는 0부터파이썬은 첫 번째를
0번으로 셉니다. fruits[1]은 첫 번째가 아니라 두 번째("바나나")입니다. 이건 Pandas에서도 똑같으니 꼭 익숙해지세요.리스트는 추가·삭제·변경이 자유롭습니다.
PYTHON
fruits.append("딸기") # 끝에 추가 fruits[0] = "청사과" # 첫 번째 값 변경 fruits.remove("바나나") # 특정 값 삭제 print(fruits)
실행 결과:
CODE
['청사과', '포도', '딸기']
딕셔너리(dict): 이름표로 값을 찾는 사전
중괄호 {} 안에 키: 값 쌍을 넣습니다. 번호가 아니라 이름(키)으로 값을 꺼냅니다.
PYTHON
person = {"name": "철수", "age": 20, "city": "서울"}
print(person["name"]) # 키로 값 꺼내기
print(person["age"])
실행 결과:
CODE
철수 20
🔑 새 용어 — 키(key)와 값(value)
딕셔너리는 키로 값을 찾습니다. 사전에서 단어(키)를 찾으면 뜻(값)이 나오는 것과 같습니다. 위에서"name"이 키,"철수"가 값입니다.
PYTHON
person["job"] = "학생" # 새 항목 추가 person["age"] = 21 # 값 변경 print(person)
실행 결과:
CODE
{'name': '철수', 'age': 21, 'city': '서울', 'job': '학생'}
💡 팁: 딕셔너리는 Pandas에서 데이터프레임(표)을 만들 때 핵심으로 쓰입니다. {"열이름": [값들]} 형태가 곧 표 한 장이 됩니다. 10장에서 다시 만납니다.
튜플(tuple): 바뀌면 안 되는 목록
소괄호 ()로 만들며, 리스트와 비슷하지만 한 번 만들면 바꿀 수 없습니다.
PYTHON
point = (37.5, 127.0) # 위도, 경도처럼 바뀌면 안 되는 값 print(point[0]) # point[0] = 0 # ❌ 에러! 튜플은 변경 불가
실행 결과:
CODE
37.5
💡 좌표, 고정된 설정값처럼 "실수로라도 바뀌면 안 되는" 값에 씁니다.
집합(set): 중복 없는 모음
중괄호 {}로 만들며, 중복을 자동으로 제거하고 순서가 없습니다.
PYTHON
numbers = {1, 2, 2, 3, 3, 3}
print(numbers) # 중복이 사라짐
print(3 in numbers) # 들어 있는지 확인
실행 결과:
CODE
{1, 2, 3}
True
💡 "중복 제거"가 필요할 때 가장 빠릅니다. 리스트를 set()으로 감싸면 중복이 사라집니다.
PYTHON
fruits = ["사과", "사과", "포도"] print(set(fruits)) # {'사과', '포도'}
🛠 미니 챌린지
- 좋아하는 영화 3편을 리스트에 담고, 두 번째 영화를 출력하세요.
- 딕셔너리로 자신의 정보(
name,age,hobby)를 만들고, 취미를 출력하세요. [1, 1, 2, 3, 3, 3, 4]에서 중복을 제거한 결과를 출력하세요.
✅ 미니 챌린지 해설
PYTHON
# 1. 리스트와 인덱싱 (두 번째는 [1]) movies = ["인셉션", "기생충", "인터스텔라"] print(movies[1])
실행 결과: 기생충
PYTHON
# 2. 딕셔너리 me = {"name": "홍길동", "age": 20, "hobby": "독서"} print(me["hobby"])
실행 결과: 독서
PYTHON
# 3. 집합으로 중복 제거 nums = [1, 1, 2, 3, 3, 3, 4] print(set(nums))
실행 결과: {1, 2, 3, 4}
이 장에서 배운 것
- 기본 타입:
int(정수),float(소수),str(문자열),bool(참/거짓). - 리스트
[]는 순서 있고 변경 가능한 만능 목록 (번호는 0부터). - 딕셔너리
{키:값}은 이름표로 값을 찾으며, Pandas 표 만들기의 핵심. - 튜플
()은 변경 불가, 집합{}은 중복 없는 모음.
✍️ 확인 문제
- 리스트
["가", "나", "다"]에서"나"를 꺼내려면 인덱스 번호 몇 번을 써야 하나요? - 튜플과 리스트의 가장 큰 차이는 무엇인가요?
- 딕셔너리에서 값을 꺼낼 때는 번호 대신 무엇을 쓰나요?
다음 장에서는 "조건에 따라 다르게 행동하기"와 "같은 일을 반복하기"를 배웁니다.
👉 03. Python 기초 — 조건문과 반복문