# 📌 파이썬 자료형 기본 튜토리얼
# 1️⃣ 숫자형 (정수형, 실수형)
## ✅ 정수형 (int)
a = 10
b = -5
print(type(a), type(b)) # <class 'int'> <class 'int'>
## ✅ 실수형 (float)
c = 3.14
d = -0.99
print(type(c), type(d)) # <class 'float'> <class 'float'>
## ✅ 기본 연산
print(a + c) # 덧셈
print(a - c) # 뺄셈
print(a * c) # 곱셈
print(a / c) # 나눗셈
print(a // c) # 몫
print(a % c) # 나머지
print(a ** 2) # 거듭제곱
# 2️⃣ 문자형 (str)
## ✅ 문자열 선언
s1 = "Hello"
s2 = 'Python'
print(type(s1)) # <class 'str'>
## ✅ 문자열 결합과 반복
print(s1 + " " + s2) # 문자열 연결
print(s1 * 3) # 문자열 반복
## ✅ 문자열 인덱싱과 슬라이싱
s = "Python"
print(s[0]) # 첫 번째 문자
print(s[-1]) # 마지막 문자
print(s[0:3]) # 'Pyt' (0~2번째 문자 추출)
## ✅ 문자열 주요 함수
print(len(s)) # 문자열 길이
print(s.upper()) # 대문자로 변환
print(s.lower()) # 소문자로 변환
print(s.replace("P", "J")) # 특정 문자 대체
print(s.find("y")) # 특정 문자 위치 찾기
print(s.split("t")) # 특정 문자 기준으로 나누기
# 3️⃣ 리스트 (list) - 변경 가능 (mutable)
## ✅ 리스트 생성
lst = [1, 2, 3, "Python", [4, 5]]
print(lst)
## ✅ 리스트 인덱싱 & 슬라이싱
print(lst[0]) # 첫 번째 요소
print(lst[-1]) # 마지막 요소
print(lst[1:4]) # 1~3번째 요소
## ✅ 리스트 주요 연산
lst.append(6) # 요소 추가
lst.insert(2, "Hello") # 특정 위치에 요소 삽입
lst.remove(3) # 특정 요소 삭제
lst.pop() # 마지막 요소 삭제
lst.sort() # 정렬 (숫자형 리스트만 가능)
print(lst)
# 4️⃣ 튜플 (tuple) - 변경 불가능 (immutable)
## ✅ 튜플 생성
tup = (10, 20, "Python", 3.14)
print(tup)
## ✅ 튜플 인덱싱 & 슬라이싱
print(tup[0]) # 첫 번째 요소
print(tup[-1]) # 마지막 요소
print(tup[1:3]) # 1~2번째 요소
## ✅ 튜플은 값 변경 불가능
# tup[0] = 100 # TypeError 발생
# 5️⃣ 딕셔너리 (dict) - 키-값 쌍 저장
## ✅ 딕셔너리 생성
dic = {"이름": "홍길동", "나이": 25, "도시": "서울"}
print(dic)
## ✅ 특정 키의 값 조회
print(dic["이름"]) # '홍길동'
## ✅ 키-값 추가 및 수정
dic["직업"] = "프로그래머" # 새로운 키-값 추가
dic["나이"] = 26 # 기존 값 변경
## ✅ 키-값 삭제
del dic["도시"]
## ✅ 딕셔너리 주요 함수
print(dic.keys()) # 모든 키 조회
print(dic.values()) # 모든 값 조회
print(dic.items()) # 키-값 쌍 조회
print(dic.get("이름", "없음")) # 키에 해당하는 값 가져오기
# 6️⃣ 집합 (set) - 중복 없는 요소 저장
## ✅ 집합 생성
s1 = {1, 2, 3, 4, 5}
s2 = {3, 4, 5, 6, 7}
## ✅ 집합 연산
print(s1 | s2) # 합집합
print(s1 & s2) # 교집합
print(s1 - s2) # 차집합
## ✅ 요소 추가 & 삭제
s1.add(10) # 요소 추가
s1.remove(3) # 요소 삭제
# 🎯 마무리
# 파이썬의 기본 자료형을 정리했습니다!
# 데이터를 다룰 때 자주 사용되므로 실습을 반복해보세요 🚀