Phase 1 · 파이썬 기초

변수와 자료형

데이터를 저장하고, 계산하고, 가공하는 방법을 익히는 단계입니다.
변수·str·int·float·bool·형변환·input()·f-string까지 — 프로그래밍의 핵심을 실무로 배웁니다.

예상 학습 시간 : 120분
난이도 : ★★☆☆☆
사전 단계 : Step 01 파이썬 입문
다음 단계 : 조건문
01

학습 목표

수업이 끝나면 다음을 직접 할 수 있어야 합니다.

1
변수의 개념을 이해한다
2
변수에 데이터를 저장할 수 있다
3
문자열과 숫자의 차이를 이해한다
4
정수와 실수를 구분할 수 있다
5
사칙연산을 할 수 있다
6
문자열을 조작할 수 있다
7
input()으로 사용자 입력을 받을 수 있다
8
문자열을 숫자로 형변환할 수 있다
9
간단한 계산 프로그램을 만들 수 있다
02

변수란 무엇인가?

한 줄 정의

변수 = 데이터를 저장해 놓는 이름표

예를 들어 다음과 같이 작성하면:

🐍 Python
name = "홍길동"
age  = 30

컴퓨터 메모리에 다음처럼 데이터가 저장됩니다.

name
변수 이름
"홍길동"
저장된 값
age
변수 이름
30
저장된 값

나중에 변수 이름으로 저장된 값을 사용할 수 있습니다.

🐍 Python
name = "홍길동"
age  = 30

print(name)
print(age)
▶ 실행 결과
홍길동
30
03

변수 저장과 사용

기본 형태는 다음과 같습니다.

📌 문법 형태
변수이름 =
= 의 의미

프로그래밍에서 =는 수학의 "같다"가 아닙니다.
오른쪽의 값을 왼쪽 변수에 저장한다는 의미입니다.
price = 10000price ← 10000 으로 이해하세요.

변수를 사용하면 계산이 훨씬 편리해집니다.

🐍 Python
price    = 10000
quantity = 3

print(price)
print(quantity)
print(price * quantity)
▶ 실행 결과
10000
3
30000
04

변수를 사용하는 이유

다음 두 프로그램을 비교해 보세요.

😰 변수 없이
print(10000 * 3)
print(10000 * 5)
print(10000 * 10)

가격을 바꾸려면 3곳을 모두 수정해야 합니다.

✅ 변수 사용
price = 10000

print(price * 3)
print(price * 5)
print(price * 10)

price = 15000 한 줄만 바꾸면 끝!

핵심 — 변수의 진짜 가치

변수는 단순히 값을 저장하는 것이 아닙니다. 데이터를 한 곳에서 관리해서 프로그램을 유지·보수하기 쉽게 만들어 줍니다. 실무에서 이것이 매우 중요합니다.

05

변수 이름 규칙

업무 프로그램에서는 변수 이름이 코드의 가독성을 결정합니다. 의미를 알 수 있는 이름을 사용하세요.

❌ 나쁜 예
a = "홍길동"
b = 1000000
c = 100000
✅ 좋은 예
customer_name = "홍길동"
supply_amount = 1000000
tax_amount    = 100000
규칙가능불가능
영문자·숫자·밑줄(_) 사용 가능name, age2, my_namemy-name, my name
숫자로 시작 불가price22price
여러 단어는 snake_casesupply_amountSupplyAmount (Python 비권장)
한글 가능하지만 비권장price = 100가격 = 100 (작동하나 비권장)
06

자료형 — str · int · float · bool

변수에 저장되는 데이터에는 종류(자료형)가 있습니다. 대표적인 4가지를 먼저 익힙니다.

str
문자열 String
글자·문장·숫자처럼 보이는 문자. 따옴표로 감싸져 있음.
"홍길동"   'ABC회계법인'
"100"
int
정수 Integer
소수점이 없는 숫자. 개수·연도·금액 등에 사용.
100   -50   0
10000   1000000
float
실수 Float
소수점이 있는 숫자. 세율·비율·평균 등에 사용.
3.14   0.1   10.5
171.5   -2.5
bool
불리언 Boolean
참 또는 거짓. 조건 판단에 사용. 반드시 대문자 시작.
True   False
is_paid = True

자료형을 확인하려면 type()을 사용합니다.

🐍 type() 확인
name      = "홍길동"
age       = 30
height    = 171.5
is_member = True

print(type(name))
print(type(age))
print(type(height))
print(type(is_member))
▶ 실행 결과
<class 'str'>
<class 'int'>
<class 'float'>
<class 'bool'>
07

사칙연산과 수식 계산

연산기호예제결과
더하기+10 + 313
빼기-10 - 37
곱하기*10 * 330
나누기/10 / 33.333...
//10 // 33
나머지%10 % 31
제곱**2 ** 38
🐍 연산 종합
price    = 10000
quantity = 5
total    = price * quantity

print(total)         # 50000
print(10 / 3)        # 3.3333...  (나누기)
print(10 // 3)       # 3          (몫)
print(10 % 3)        # 1          (나머지)
print(2 ** 3)        # 8          (제곱)
계산 순서 — 괄호 적극 활용

10 + 20 * 370 (곱하기 먼저)
(10 + 20) * 390 (괄호 먼저)
실무에서는 복잡한 계산일수록 괄호를 적극적으로 사용해서 의도를 명확하게 표현하세요.

08

문자열 조작

문자열은 +로 연결할 수 있습니다.

🐍 문자열 연결
first_name = "홍"
last_name  = "길동"

name = first_name + last_name

print(name)
▶ 실행 결과
홍길동

그러나 문자열과 숫자를 직접 연결하면 오류가 발생합니다.

오류 발생
age = 30

print("나이는 " + age)    # TypeError 발생!
⚠ 오류 메시지
TypeError: can only concatenate str (not "int") to str

해결 방법은 str()로 숫자를 문자열로 변환하거나, 다음 섹션에서 배울 f-string을 사용하는 것입니다.

09

형변환 — str() · int() · float()

자료형을 다른 자료형으로 바꾸는 것을 형변환(Type Conversion)이라고 합니다.

str()
숫자 → 문자열
str(100)
"100"
int()
문자열 → 정수
int("100")
100
float()
문자열 → 실수
float("10.5")
10.5
🐍 형변환 예제
# 숫자 → 문자열
age = 30
print("나이는 " + str(age))   # → 나이는 30

# 문자열 → 정수
number = int("100")
print(number + 50)          # → 150

# 문자열 → 실수
rate = float("10.5")
print(rate * 2)             # → 21.0
왜 중요한가?

엑셀, CSV, 데이터베이스에서 읽어온 데이터는 대부분 문자열입니다. 계산을 하려면 반드시 숫자로 변환해야 합니다. 이 개념은 7단계 파일 처리부터 매우 자주 쓰입니다.

10

input() — 사용자 입력 받기

이제 프로그램이 사용자에게 데이터를 입력받을 수 있습니다.

🐍 Python
name = input("이름을 입력하세요: ")

print("안녕하세요.")
print(name)
⌨ 실행 화면 (사용자 입력)
이름을 입력하세요: 홍길동
▶ 출력 결과
안녕하세요.
홍길동
반드시 알아야 할 것

input()으로 받은 모든 데이터는 항상 문자열(str)입니다.
숫자를 입력해도 '30' 처럼 문자열로 저장됩니다. 계산에 사용하려면 반드시 형변환이 필요합니다.

🐍 숫자 입력 — 올바른 방법
# ❌ 잘못된 방법 — 문자열로 받음
age = input("나이: ")

# ✅ 올바른 방법 — 정수로 바로 변환
age = int(input("나이: "))

# ✅ 실수가 필요한 경우
rate = float(input("세율: "))

이제 진짜 프로그램다운 계산 프로그램을 만들 수 있습니다.

🐍 입력 계산 프로그램
price    = int(input("상품 가격: "))
quantity = int(input("수량: "))

total = price * quantity

print("총 금액:", total)
⌨ 사용자 입력
상품 가격: 15000
수량: 4
▶ 출력 결과
총 금액: 60000
11

f-string — 문자열 포매팅

문자열에 변수 값을 넣을 때 +str()을 계속 쓰는 것은 불편합니다. f-string을 사용하면 훨씬 편리합니다.

+ 연결 방식 (불편)
print("이름: " + name)
print("나이: " + str(age))
✅ f-string (권장)
print(f"이름: {name}")
print(f"나이: {age}")

f-string은 문자열 앞에 f를 붙이고, 중괄호 { } 안에 변수를 넣습니다.

금액에 쉼표(,)를 표시하는 것도 f-string으로 간단하게 할 수 있습니다.

🐍 쉼표 포매팅
amount = 1000000

print(f"{amount}")          # 1000000
print(f"{amount:,}")        # 1,000,000
print(f"공급가액: {amount:,}원") # 공급가액: 1,000,000원

# 소수점 없애기 (:.0f)
tax = 100000.0
print(f"부가세: {tax:,.0f}원")  # 부가세: 100,000원
▶ 실행 결과
1000000
1,000,000
공급가액: 1,000,000원
부가세: 100,000원
실무 필수 스킬

회계·세무 업무 자동화에서 숫자에 쉼표를 표시하는 것은 기본입니다. f"{amount:,}"f"{amount:,.0f}" 는 외워두세요.

12

실습 1 ~ 5

👤
실습 1
자기소개 프로그램
🐍 Python
name    = input("이름: ")
job     = input("직업: ")
company = input("회사: ")

print()
print("===== 자기소개 =====")
print(f"이름: {name}")
print(f"직업: {job}")
print(f"회사: {company}")
🔢
실습 2
사칙연산 계산기
🐍 Python
a = int(input("첫 번째 숫자: "))
b = int(input("두 번째 숫자: "))

print(f"더하기: {a + b}")
print(f"빼기:   {a - b}")
print(f"곱하기: {a * b}")
print(f"나누기: {a / b}")
💡 예상 출력 (20, 5 입력 시)
더하기: 25
빼기:   15
곱하기: 100
나누기: 4.0
💰
실습 3
급여 계산기
🐍 Python
monthly_salary = int(input("월급을 입력하세요: "))

annual_salary = monthly_salary * 12

print(f"월급: {monthly_salary:,}원")
print(f"연봉: {annual_salary:,}원")
💡 예상 출력
월급: 3,000,000원
연봉: 36,000,000원
🧾
실습 4 — 회계 업무형
부가세 계산기
🐍 Python — 회계 실무
supply = int(input("공급가액: "))

tax   = supply * 0.1
total = supply + tax

print("====================")
print(f"공급가액 : {supply:,.0f}원")
print(f"부가세   : {tax:,.0f}원")
print(f"합계     : {total:,.0f}원")
print("====================")
💡 예상 출력 (2500000 입력 시)
====================
공급가액 : 2,500,000원
부가세   :   250,000원
합계     : 2,750,000원
====================
🏢
실습 5 — 발전형
거래처 계산 프로그램
customer = input("거래처명: ")
supply   = int(input("공급가액: "))

tax   = supply * 0.1
total = supply + tax

print()
print("===== 거래처 거래내역 =====")
print(f"거래처   : {customer}")
print(f"공급가액 : {supply:,.0f}원")
print(f"부가세   : {tax:,.0f}원")
print(f"합계     : {total:,.0f}원")
앞으로의 발전 방향

거래처 1개 → 거래처 여러 개(반복문) → 엑셀 파일 처리 → 자동 보고서. 지금 만드는 이 작은 프로그램이 업무 자동화 프로그램의 출발점입니다.

13

2단계 핵심 실습

학생들이 스스로 만들어보는 종합 실습입니다.

🏆
종합 실습
거래처 견적서 프로그램

다음 정보를 입력받아 견적서를 출력하는 프로그램을 직접 만드세요.

입력 항목
거래처명 · 단가 · 수량
계산 공식
supply = price × quantity
tax = supply × 0.1
total = supply + tax
💡 힌트
customer = input("거래처: ")
price    = int(input("단가: "))
quantity = int(input("수량: "))

# 나머지를 직접 완성해 보세요!
🎓 강사 교육 포인트 — 프로그래밍 사고방식 훈련

코드를 바로 작성하게 하지 말고 먼저 질문하세요.
"공급가액을 입력받아 부가세와 합계를 계산하려면 어떤 순서로 컴퓨터에게 시켜야 할까요?"
학생이 ① 입력 → ② 계산 → ③ 출력 순서를 먼저 생각하게 합니다. 이 습관은 나중에 AI 코딩·바이브 코딩을 할 때도 매우 중요합니다.

14

과제

과제 1 — 개인정보

나의 정보 입력 출력 프로그램

이름, 나이, 직업, 지역을 입력받아 아래 형태로 출력하세요.

💡 출력 형태
===== 나의 정보 =====
이름: 
나이: 
직업: 
지역: 
====================
과제 2 — 쇼핑몰

주문내역 계산

상품명, 가격, 수량을 입력받아 주문금액을 계산하고 출력하세요.

💡 출력 형태
===== 주문내역 =====
상품명  : 
가격    : 
수량    : 
주문금액: 
==================
과제 3 — 회계 업무

세금계산서 출력

거래처명과 공급가액을 입력받아 부가세와 합계를 자동 계산하세요.

💡 출력 형태
===== 세금계산서 정보 =====
거래처  : 
공급가액: 
부가세  : 
합계    : 
=========================
15

핵심 정리 & 다음 단계 연결

다음 내용을 스스로 설명할 수 있으면 2단계를 성공적으로 마친 것입니다.

변수 = 값

데이터를 이름표에 저장

str

"홍길동" — 문자열

int

100 — 소수점 없는 정수

float

10.5 — 소수점 있는 실수

bool

True / False

type()

자료형 확인

input()

사용자 입력 받기 (결과는 str)

int() float() str()

형변환

f"{변수}"

f-string 포매팅

f"{금액:,}"

쉼표 표시

+ - * /

사칙연산

// % **

몫 / 나머지 / 제곱

다음 단계 예고 — Step 03: 조건문

3단계에서는 프로그램이 상황에 따라 다르게 작동하는 방법을 배웁니다.
if → 비교연산자 → 논리연산자 → 중첩조건 → 회계업무 판단 → 실전 과제 순서로 진행됩니다.

공급가액 >= 10000000"관리자 검토 필요"
공급가액 <  10000000"일반 처리"

전체 과정에서 현재 위치:

1단계 — print() · 실행 순서 · 주석 ✓ 완료
2단계 — 변수 · 자료형 · input() · f-string 현재 단계
3단계 — 조건문 (if / elif / else)
4단계 — 반복문 (for / while)
5단계 — 리스트 · 딕셔너리
6단계 — 함수
7단계 ★ — 파일 처리 — 회계 실무 전환
10단계 ★ — 엑셀 자동화
11단계 ★ — Pandas 재무 데이터
50단계 ★ — AI 재무 어시스턴트
Step 01 : 파이썬 입문 Step 03 : 조건문