01. Python 기초 — 변수와 연산

🎯 이 장의 목표
  • 변수가 무엇인지 알고, 값을 담아 쓸 수 있다
  • 사칙연산과 기본 연산자를 쓸 수 있다
  • 화면에 출력하고(print), 사용자 입력을 받을 수 있다(input)
💡 팁
이 0부는 파이썬이 처음인 분을 위한 단기 속성 과정입니다. 이미 파이썬을 안다면 1부로 건너뛰어도 됩니다. 모든 코드는 Colab에 붙여넣어 바로 실행해 보세요.

먼저: 변수가 뭔가요?

변수(variable)값을 담아 두는 이름표 붙은 상자입니다. 숫자나 글자를 상자에 넣고 이름을 붙여 두면, 나중에 그 이름으로 꺼내 쓸 수 있습니다.

PYTHON
age = 20
name = "철수"
  • age라는 상자에 20을 넣었습니다.
  • name이라는 상자에 "철수"라는 글자를 넣었습니다.
  • =는 "같다"가 아니라 "오른쪽 값을 왼쪽 상자에 넣어라"는 뜻입니다. (수학의 등호와 다릅니다!)

이제 이름으로 값을 꺼내 쓸 수 있습니다.

PYTHON
print(age)
print(name)

실행 결과:

CODE
20
철수
🔑 새 용어 — 변수 할당(assignment)
변수이름 = 값 형태로 상자에 값을 넣는 것을 "할당"이라 합니다. 값은 언제든 새로 할당해 바꿀 수 있습니다.
PYTHON
age = 20
age = 21   # 새 값으로 덮어씀
print(age)

실행 결과:

CODE
21

⚠️ 흔한 실수: 변수 이름은 숫자로 시작할 수 없고(1age ❌), 띄어쓰기를 넣을 수 없습니다(my age ❌). 여러 단어는 보통 밑줄로 잇습니다(my_age ✅).

사칙연산과 기본 연산자

파이썬은 계산기처럼 쓸 수 있습니다.

PYTHON
print(7 + 3)    # 더하기
print(7 - 3)    # 빼기
print(7 * 3)    # 곱하기 (×가 아니라 *)
print(7 / 3)    # 나누기
print(7 // 3)   # 몫 (나눈 정수 부분)
print(7 % 3)    # 나머지
print(7 ** 3)   # 거듭제곱 (7의 3제곱)

실행 결과:

CODE
10
4
21
2.3333333333333335
2
1
343
연산자예 (73)
+더하기10
-빼기4
*곱하기21
/나누기 (소수)2.333...
//몫 (정수)2
%나머지1
**거듭제곱343
💡 팁
: %(나머지)는 의외로 자주 씁니다. 예를 들어 숫자 % 2 == 0이면 그 숫자는 짝수입니다.

변수끼리도 계산할 수 있습니다

PYTHON
price = 3000
count = 4
total = price * count
print(total)

실행 결과:

CODE
12000

출력하기 — print()

print()는 괄호 안의 내용을 화면에 보여 줍니다. 여러 개를 쉼표로 나열하면 한 줄에 띄어서 출력합니다.

PYTHON
name = "영희"
age = 22
print("이름:", name, "/ 나이:", age)

실행 결과:

CODE
이름: 영희 / 나이: 22

f-문자열: 더 깔끔하게 출력하기

문자열 앞에 f를 붙이고 {} 안에 변수를 넣으면, 글과 값을 자연스럽게 섞을 수 있습니다. 이것을 f-문자열(f-string)이라 합니다.

PYTHON
name = "영희"
age = 22
print(f"{name}님은 {age}살입니다.")

실행 결과:

CODE
영희님은 22살입니다.

💡 : f-문자열은 파이썬에서 가장 많이 쓰는 출력 방식입니다. 데이터 분석 중간 결과를 확인할 때도 자주 씁니다.

입력받기 — input()

input()은 사용자가 키보드로 입력한 값을 받아옵니다.

PYTHON
name = input("이름을 입력하세요: ")
print(f"안녕하세요, {name}님!")

실행하면 입력 칸이 나타나고, 거기 입력한 값이 name에 담깁니다.

⚠️ 흔한 실수
아주 중요한 함정 — input은 항상 글자(문자열)다
input()으로 받은 값은 숫자처럼 보여도 글자로 취급됩니다. 그래서 계산하려면 숫자로 바꿔 줘야 합니다.
PYTHON
age = input("나이를 입력하세요: ")   # "20"이라고 입력했다고 하자
print(age + 1)   # ❌ 에러! 글자에 숫자를 더할 수 없음

숫자로 바꾸려면 int()(정수로) 또는 float()(소수로)를 씁니다.

PYTHON
age = int(input("나이를 입력하세요: "))   # 글자 "20" → 숫자 20
print(age + 1)   # ✅ 21
🔑 새 용어 — 형변환(type casting)
값의 종류(타입)를 바꾸는 것입니다. int()는 정수로, float()는 소수로, str()는 글자로 바꿉니다. 데이터 분석에서도 "숫자처럼 보이는 글자"를 진짜 숫자로 바꾸는 일이 자주 생기니 기억해 두세요.

🛠 미니 챌린지

  1. radius(반지름)에 5를 담고, 원의 넓이(3.14 × 반지름 × 반지름)를 계산해 출력하세요.
  2. 사용자에게 두 숫자를 입력받아 그 합을 출력하세요. (input의 함정을 조심!)
  3. f-문자열로 "5의 제곱은 25입니다"를 출력하세요. 단, 숫자는 직접 쓰지 말고 변수와 **로 계산하세요.

✅ 미니 챌린지 해설

PYTHON
# 1. 원의 넓이
radius = 5
area = 3.14 * radius * radius
print(area)

실행 결과: 78.5

PYTHON
# 2. 두 수의 합 (int로 형변환 필수!)
a = int(input("첫 번째 숫자: "))
b = int(input("두 번째 숫자: "))
print(a + b)

실행 결과: 예를 들어 34를 입력하면 7

PYTHON
# 3. f-문자열과 거듭제곱
num = 5
print(f"{num}의 제곱은 {num ** 2}입니다")

실행 결과: 5의 제곱은 25입니다

이 장에서 배운 것

  • 변수는 값을 담는 이름표 붙은 상자이고, =로 값을 할당한다.
  • 사칙연산 외에 //(몫), %(나머지), **(거듭제곱)가 있다.
  • print()로 출력하며, f-문자열(f"{변수}")이 가장 깔끔하다.
  • input()은 항상 글자를 돌려주므로, 계산하려면 int()·float()로 형변환한다.

✍️ 확인 문제

  1. = 기호는 수학의 등호와 무엇이 다른가요?
  2. 17 // 517 % 5의 결과는 각각 무엇인가요?
  3. input()으로 받은 나이를 1 증가시키려 했더니 에러가 났습니다. 무엇이 문제이고 어떻게 고치나요?
다음 장에서는 숫자 말고도 파이썬이 다루는 다양한 데이터 타입(리스트·딕셔너리 등)을 익힙니다.
👉 02. Python 기초 — 데이터 타입