파이썬 기초 - 2장 파이썬 프로그래밍의 기초, 자료형 (1) | 2023 점프 투 파이썬
여러분, 안녕하세요! 👨🏫 오늘은 '점프 투 파이썬' 강의의 두 번째 시간, **'자료형(Data Type)'**에 대한 영상을 보고 왔습니다. 프로그래밍을 요리에 비유하자면, 자료형은 우리가 요리할 때 사용하는 다양한 재료들(쌀, 고기, 채소, 양념 등)과 같아요. 🧑🍳 아무리 훌륭한 레시피가 있어도 재료의 특성을 모르면 맛있는 요리를 만들 수 없겠죠? 파이썬의 자료형도 마찬가지입니다. 각 재료의 특징을 정확히 이해하고 상황에 맞게 활용해야만 우리가 원하는 프로그램을 만들 수 있습니다.
오늘 이 글에서는 파이썬의 핵심 재료들인 숫자, 문자열, 리스트, 튜플, 딕셔너리, 집합을 하나하나 깊이 있게 파헤쳐 볼 거예요. 전문가의 시각으로 이 재료들을 능숙하게 다루는 법을 알려드릴 테니, 여러분도 이 글을 읽고 나면 파이썬의 주방을 자유롭게 누비는 멋진 셰프가 될 수 있을 겁니다! 👨🍳✨
자료형, 프로그래밍의 기본 언어 💬
왜 자료형이 그렇게 중요할까요? 아주 간단한 예를 들어볼게요. 1 + 1이라는 연산을 생각해 봅시다. 만약 두 개의 1이 숫자라면, 컴퓨터는 당연히 그 결과를 2라고 계산할 겁니다. 하지만 만약 두 개의 1이 문자라면 어떨까요? 컴퓨터는 1이라는 문자와 1이라는 문자를 단순히 옆에 이어 붙여 '11'이라는 새로운 문자열을 만들게 됩니다. 이렇게 똑같은 데이터라도 그 **'형태'**에 따라 전혀 다른 결과가 나오기 때문에, 우리는 자료형의 종류와 특징을 정확히 알아야 합니다. 자료형은 컴퓨터에게 "이 데이터는 이렇게 다뤄야 해!"라고 말해주는 프로그래밍의 기본 언어라고 할 수 있습니다.
파이썬의 핵심 재료들, 자세히 살펴보기 🕵️♂️
파이썬에는 여러 가지 자료형이 있지만, 그중에서도 가장 기본적이고 자주 사용되는 핵심 재료들을 중심으로 깊이 있게 알아보겠습니다.
1. 숫자형 (Numbers) 🔢
숫자형은 말 그대로 숫자를 표현하는 자료형입니다. 크게 **정수(int)**와 **실수(float)**로 나뉩니다.
- 정수(int): 소수점이 없는 숫자, 예를 들어 1, 100, -5와 같은 것들을 말합니다.
- 실수(float): 소수점이 있는 숫자, 예를 들어 3.14, -0.5와 같은 것들을 말합니다.
숫자형은 우리가 수학 시간에 배웠던 것처럼 사칙연산이 가능합니다. 더하기(+), 빼기(-), 곱하기(*), 나누기(/)는 기본이죠. 또한, 거듭제곱(**), 나머지(%), 그리고 **몫(//)**을 구하는 연산자도 있습니다. 💡
a = 10
b = 3
print(a + b) # 더하기: 13
print(a * b) # 곱하기: 30
print(a / b) # 나누기: 3.3333...
# 거듭제곱: 10의 3승
print(a ** b) # 1000
# 나누기 연산자
print(a % b) # 나머지: 10을 3으로 나눈 나머지, 1
print(a // b) # 몫: 10을 3으로 나눈 몫, 3
특히 // 연산자는 소수점 아래를 버리고 몫만 취하기 때문에, 정수형 연산을 할 때 매우 유용하게 사용됩니다.
2. 문자열 (String) 💬
문자열은 따옴표로 감싼 글자들을 말합니다. 'string'이라는 이름처럼 여러 글자가 실처럼 이어진 형태라고 생각하면 이해하기 쉽죠. 'hello', "Python", '''안녕하세요'''처럼 작은따옴표, 큰따옴표, 그리고 따옴표 3개를 연속으로 사용하여 표현할 수 있습니다. 📝
- 문자열 연산: 문자열도 연산이 가능합니다. 덧셈(+)은 문자열을 서로 연결하고, 곱셈(*)은 문자열을 반복하는 역할을 합니다.
-
a = "Hello" b = "Python" print(a + b) # "HelloPython" print(a * 3) # "HelloHelloHello" - 인덱싱(Indexing)과 슬라이싱(Slicing): 문자열의 특정 부분을 자유자재로 다루는 매우 중요한 기술입니다. 🔪
- 인덱싱: 문자열의 특정 위치(인덱스)에 있는 한 글자를 추출하는 것을 말합니다. 인덱스는 0부터 시작하며, 음수 인덱스는 뒤에서부터 세는 것을 의미합니다.
- 슬라이싱: 문자열의 특정 범위(슬라이스)를 잘라내는 것을 말합니다. [시작:끝] 형태로 사용하며, 끝 위치의 문자는 포함되지 않습니다.
- 포매팅(Formatting): 문자열에 변수 값을 삽입하여 새로운 문자열을 만드는 방법입니다. 특히 f-문자열 방식을 사용하면 가장 간결하고 직관적으로 코드를 작성할 수 있습니다. 마치 미리 만들어 둔 문장에 빈칸을 채워 넣는 것처럼 말이죠. ✍️
name = "홍길동" age = 30 print(f"제 이름은 {name}이고, 나이는 {age}살입니다.") - 다양한 문자열 함수: 파이썬은 문자열을 다루기 위한 매우 유용한 내장 함수들을 제공합니다.
- len(): 문자열의 길이를 반환합니다.
- count('a'): 특정 문자가 몇 번 나오는지 셉니다.
- find('a'): 특정 문자가 처음으로 나타나는 위치(인덱스)를 찾습니다.
- replace('a', 'b'): 특정 문자를 다른 문자로 바꿉니다.
- split(): 문자열을 특정 구분자를 기준으로 나누어 리스트로 만듭니다.
3. 리스트 (List) 📋
리스트는 여러 개의 값(요소)을 하나의 변수에 담아 관리하는 자료형입니다. 대괄호([])를 사용하며, 숫자, 문자열, 심지어 다른 리스트까지 다양한 종류의 자료형을 함께 저장할 수 있습니다. 🧺 리스트는 내용물을 마음대로 추가, 삭제, 수정할 수 있는 가변(Mutable) 자료형입니다. 마치 마음대로 물건을 넣고 뺄 수 있는 장바구니 같죠. 🛒
- 인덱싱과 슬라이싱: 리스트도 문자열처럼 인덱싱과 슬라이싱이 가능합니다.
- 리스트 함수: 리스트는 내부 요소를 조작할 수 있는 다양한 함수들을 제공합니다.
- append(): 리스트 맨 뒤에 새로운 요소를 추가합니다.
- sort(): 리스트의 요소를 정렬합니다.
- reverse(): 리스트의 순서를 뒤집습니다.
- insert(인덱스, 값): 원하는 위치에 새로운 요소를 삽입합니다.
- remove(값): 리스트에서 특정 값을 가진 요소를 삭제합니다.
- pop(): 리스트의 맨 마지막 요소를 빼냅니다.
4. 튜플 (Tuple) 📦
튜플은 리스트와 매우 비슷하지만, 한 가지 중요한 차이점이 있습니다. 바로 내부의 값을 변경할 수 없다는 점입니다. 🚫 소괄호(())를 사용하여 만듭니다. 한 번 정의된 튜플은 더하거나 빼거나 값을 수정할 수 없기 때문에, 데이터가 변경되면 안 되는 경우에 사용합니다. 리스트가 '장바구니'라면 튜플은 '한번 봉인하면 내용물을 바꿀 수 없는 상자'라고 생각하면 쉽습니다. 📦
- 튜플은 왜 쓸까? 튜플의 가장 큰 장점은 안정성입니다. 데이터가 절대 변하지 않음을 보장하기 때문에, 프로그램이 예상치 못한 오류를 일으킬 가능성을 줄여줍니다. 예를 들어, 함수의 인자로 여러 값을 전달할 때나, 데이터베이스에서 가져온 변경 불가능한 데이터를 저장할 때 유용하게 사용됩니다.
5. 딕셔너리 (Dictionary) 🔑
딕셔너리는 **키(Key)**와 **값(Value)**이 한 쌍을 이루는 자료형입니다. 중괄호({})를 사용하며, {'이름': '홍길동', '나이': 30}과 같은 형태로 데이터를 저장합니다. 마치 사전(Dictionary)처럼 키를 통해 값을 찾을 수 있습니다. 🗝️
- 키(Key): 고유한 이름으로, 중복될 수 없습니다.
- 값(Value): 키에 해당하는 데이터입니다.
딕셔너리는 순서가 없지만, 대신 키를 통해 값을 매우 빠르게 찾을 수 있습니다. 마치 전화번호부에서 이름을 찾아 전화번호를 찾는 것과 같죠. ☎️
- 딕셔너리 연산:
- 추가: 딕셔너리['새로운키'] = 새로운값
- 수정: 딕셔너리['기존키'] = 새로운값
- 삭제: del 딕셔너리['키']
6. 집합 (Set) 👥
집합은 수학의 집합과 같은 개념입니다. 중괄호({})를 사용하며, 중복된 값을 허용하지 않습니다. 🚫 또한, 순서가 정해져 있지 않습니다.
- 특징:
- 중복 제거: 중복된 값이 있는 리스트를 집합으로 변환하면 자동으로 중복이 제거됩니다.
- 순서 없음: 인덱싱이나 슬라이싱을 사용할 수 없습니다.
- 집합 연산: 수학의 집합 연산(합집합, 교집합, 차집합)을 수행할 수 있습니다.
- 집합 연산 예시:
-
s1 = {1, 2, 3, 4, 5} s2 = {4, 5, 6, 7, 8} # 합집합 (union): s1과 s2의 모든 요소 포함 print(s1.union(s2)) # {1, 2, 3, 4, 5, 6, 7, 8} # 교집합 (intersection): s1과 s2에 공통으로 있는 요소 print(s1.intersection(s2)) # {4, 5} # 차집합 (difference): s1에서 s2의 요소를 뺀 나머지 print(s1.difference(s2)) # {1, 2, 3}
이처럼 집합은 고유한 값만 다루거나 데이터 간의 관계를 분석할 때 매우 유용합니다.
정리하며... ✍️
오늘은 파이썬 프로그래밍의 가장 기본적이면서도 중요한 '자료형'에 대해 깊이 있는 이야기를 나눠봤습니다. 파이썬은 이처럼 다양한 종류의 '재료'를 제공하여, 우리가 어떤 문제를 해결하든지 가장 적합한 도구를 선택할 수 있도록 해줍니다.
숫자는 계산을 할 때, 문자열은 글자를 다룰 때, 리스트는 순서대로 여러 값을 저장할 때, 튜플은 변경되지 않는 값을 안전하게 보관할 때, 딕셔너리는 키-값 형태로 데이터를 관리할 때, 그리고 집합은 중복을 제거하거나 집합 연산을 수행할 때 사용됩니다.
각 자료형의 특징을 정확히 이해하고 상황에 맞게 활용하는 것이야말로 진정한 프로그래밍 전문가의 첫걸음입니다. 🚶♂️ 이 멋진 재료들을 가지고 어떤 건물을 짓고 싶은가요? 여러분의 상상력과 함께 파이썬의 세계를 탐험해 보세요! 🌟
'IT⦁영어⦁하자보수 > IT' 카테고리의 다른 글
| 5. 파이썬 기초 - 3장 프로그램의 구조를 쌓는다! 제어문 [조코딩] (0) | 2025.09.19 |
|---|---|
| 4. 파이썬 기초 - 2장 파이썬 프로그래밍의 기초, 자료형 (2) [조코딩] (0) | 2025.09.19 |
| 2. 파이썬 기초 - 1장 파이썬이란 무엇인가? [조코딩] (1) | 2025.09.19 |
| 1. AI 시대 파이썬을 배워야 하는 이유 [조코딩] (0) | 2025.09.19 |
| ⛔️챗GPT수준이 아니다! 상상 이상의 기술 AGI 시대가 온다, 김대식 (2) | 2025.09.15 |