콘텐츠로 이동

01. 변수와 타입 (의미를 담는 그릇)

"변수(Variable)는 값을 담는 상자가 아닙니다. 데이터에 붙이는 이름표(Label)입니다."

1. 변수의 본질 (Mental Model)

수학에서의 \(x = 10\)은 "x와 10은 같다"라는 뜻이지만, 파이썬에서의 x = 10"10이라는 데이터 객체에 x라는 이름표를 붙여줘"라는 뜻입니다. 이를 바인딩(Binding)이라고 합니다.

graph LR
    subgraph Memory["메모리 (Memory)"]
        Val(("10<br>(데이터)"))
        Val2(("3000<br>(데이터)"))
    end

    subgraph Names["이름표 (Namespace)"]
        x["x"]
        coffee["coffee_price"]
    end

    x -->|"가리킴 (Reference)"| Val
    coffee -->|"가리킴 (Reference)"| Val2

    style Val fill:#fff9c4,stroke:#fbc02d
    style Val2 fill:#fff9c4,stroke:#fbc02d
    style x fill:#e1f5fe,stroke:#01579b
    style coffee fill:#e1f5fe,stroke:#01579b

우리가 변수를 쓰는 가장 큰 이유는 나중에 다시 쓰기 위해서이고, 더 중요한 이유는 이 데이터가 무엇인지 설명(Storytelling)하기 위해서입니다.

❌ 나쁜 예 (암호문)

a = 3000
b = 5
print(a * b)  # 15000 (도대체 무슨 계산이지?)

✅ 좋은 예 (스토리텔링)

coffee_price = 3000
count = 5
total_sales = coffee_price * count

print(total_sales)  # 15000 (아, 커피 5잔 가격이구나!)

AI와 협업 포인트: 이름 짓기 (Naming)

AI에게 코드를 시킬 때 가장 중요한 것이 변수 이름입니다. a, b, data 같은 모호한 이름 대신, user_email, is_login_success 처럼 구체적인 의미를 담으세요. AI는 변수 이름을 보고 문맥을 파악합니다.

2. 기본 자료형 (Data Types)

파이썬이 처리하는 데이터의 종류(Type)입니다. AI가 짠 코드를 볼 때 "이게 숫자인가? 문자인가?" 헷갈린다면 type() 함수로 물어볼 수 있습니다.

타입 설명 예시 파이썬 표기
정수 (Integer) 딱 떨어지는 숫자 -1, 0, 1, 100 int
실수 (Float) 소수점이 있는 숫자 3.14, -0.01 float
문자열 (String) 글자들의 나열 (따옴표 필수) "Hello", '123' str
불리언 (Boolean) 참/거짓 (스위치) True, False bool
print(type(3.14))  # <class 'float'> 라고 알려줌

3. 형 변환 (Casting)과 f-string

형 변환이 필요한 순간

다른 타입끼리는 더하거나 섞을 수 없는 경우가 많습니다. 특히 숫자와 문자를 더할 때 에러가 납니다.

age = 20
print("내 나이는 " + age + "살")  # 🚨 에러 발생! (TypeError)

이럴 때 타입을 강제로 바꿔줘야 합니다.

# 문자열 "100"을 정수 100으로 바꾸기
number = int("100")

# 정수 20을 문자 "20"으로 바꾸기
text = str(20)
print("내 나이는 " + str(age) + "살")  # "내 나이는 20살"

🚀 최신 문법: f-string (추천 ⭐)

일일이 str()로 바꾸고 +로 붙이는 건 너무 귀찮습니다. 요즘 개발자와 AI는 f-string을 씁니다. 문자열 앞에 f를 붙이고 중괄호 {} 안에 변수를 쏙 넣으면 됩니다.

age = 20
name = "이상봉"

# 훨씬 읽기 쉽고 직관적입니다!
print(f"제 이름은 {name}이고, 나이는 {age}살입니다.")

4. 산술 연산자 (계산기)

더하기(+), 빼기(-), 곱하기(*), 나누기(/)는 기본입니다. 파이썬에는 특수한 계산기가 몇 개 더 있습니다.

기호 의미 예시 설명
// 7 // 2 -> 3 소수점 버리고 정수만 취함
% 나머지 7 % 2 -> 1 짝수/홀수 판별할 때 필수
** 거듭제곱 2 ** 3 -> 8 (2 x 2 x 2)