01. Python 기초 — 변수와 연산
🎯 이 장의 목표
- 변수가 무엇인지 알고, 값을 담아 쓸 수 있다
- 사칙연산과 기본 연산자를 쓸 수 있다
- 화면에 출력하고(
print), 사용자 입력을 받을 수 있다(input)
먼저: 변수가 뭔가요?
변수(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
| 연산자 | 뜻 | 예 (7과 3) |
|---|---|---|
+ | 더하기 | 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()는 글자로 바꿉니다. 데이터 분석에서도 "숫자처럼 보이는 글자"를 진짜 숫자로 바꾸는 일이 자주 생기니 기억해 두세요.
🛠 미니 챌린지
radius(반지름)에5를 담고, 원의 넓이(3.14 × 반지름 × 반지름)를 계산해 출력하세요.- 사용자에게 두 숫자를 입력받아 그 합을 출력하세요. (input의 함정을 조심!)
- 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)
실행 결과: 예를 들어 3과 4를 입력하면 7
PYTHON
# 3. f-문자열과 거듭제곱 num = 5 print(f"{num}의 제곱은 {num ** 2}입니다")
실행 결과: 5의 제곱은 25입니다
이 장에서 배운 것
- 변수는 값을 담는 이름표 붙은 상자이고,
=로 값을 할당한다. - 사칙연산 외에
//(몫),%(나머지),**(거듭제곱)가 있다. print()로 출력하며, f-문자열(f"{변수}")이 가장 깔끔하다.input()은 항상 글자를 돌려주므로, 계산하려면int()·float()로 형변환한다.
✍️ 확인 문제
=기호는 수학의 등호와 무엇이 다른가요?17 // 5와17 % 5의 결과는 각각 무엇인가요?input()으로 받은 나이를 1 증가시키려 했더니 에러가 났습니다. 무엇이 문제이고 어떻게 고치나요?
다음 장에서는 숫자 말고도 파이썬이 다루는 다양한 데이터 타입(리스트·딕셔너리 등)을 익힙니다.
👉 02. Python 기초 — 데이터 타입