📌 개념 정리 ────────────────────────
1️⃣ Python 이란?
- 1991년 귀도 반 로섬이 공개한 고급 인터프리터 언어.
- 가독성·생산성·방대한 생태계로 사랑받음.
2️⃣ Python 으로 할 수 있는 일 💡
카테고리 대표 라이브러리 한 줄 설명
업무 자동화 | openpyxl, python‑pptx | 엑셀·PPT 보고서 자동 생성 |
웹 크롤링 | requests, BeautifulSoup, Selenium | 사이트 데이터 수집 |
데이터 분석 | pandas, numpy | CSV→통계·시각화 |
머신러닝 · 딥러닝 | scikit‑learn, tensorflow, torch | 모델 학습·추론 |
3️⃣ Python 으로 “잘” 안 하는 일 ⚠️
- 고성능 3D 게임 엔진(주 언어 C++)
- 모바일 네이티브 앱(안드로이드 Java/Kotlin, iOS Swift)
(Kivy, BeeWare 등 예외는 있으나 생태계 작음)
4️⃣ Python 선택 이유 🎯
- 문법이 쉽다 → 10줄 첫 자동화 스크립트까지 학습 곡선 짧음.
- 라이브러리 풍부 → “이미 누군가 만든” 툴 재사용.
- 크로스플랫폼 → Windows·macOS·Linux 모두 동일 코드.
🚦 동작 원리 및 구조 ────────────────────────
▶️ 실행 흐름 (CPython 기준)
- .py 소스코드 작성
- 파서가 AST(구문 트리) 생성
- 바이트코드( .pyc ) 컴파일
- 가상머신이 바이트코드를 한 줄씩 실행
구현체 특징 사용처
CPython | 표준 구현, C 언어 | 대부분 환경 |
PyPy | JIT 적용, 속도 ↑ | 연산 집약 서비스 |
MicroPython | MCU 탑재 | IoT 기기 |
✅ 체크리스트 – 첫 파이썬 환경 준비
- Python.org 에서 3.x 설치
- python -m venv venv 로 가상환경 생성
- pip install pandas openpyxl 필요한 패키지 설치
💻 코드 예시 및 흐름 분석 ────────────────────────
● 실습 ❶ 엑셀 자동 보고서 📊
# sales_report.py
import pandas as pd
from pathlib import Path
from openpyxl import load_workbook
src = Path('sales_raw.xlsx')
wb = load_workbook(src)
ws = wb.active
# 1) 데이터프레임으로 불러오기
raw = pd.read_excel(src)
summary = raw.groupby('구매자')['금액'].sum().reset_index()
# 2) 시트 추가 & 쓰기
with pd.ExcelWriter(src, engine='openpyxl', mode='a', if_sheet_exists='replace') as writer:
summary.to_excel(writer, sheet_name='요약', index=False)
print('✅ 보고서 업데이트 완료')
흐름
- 입력: sales_raw.xlsx
- pandas 로 그룹합계 계산
- openpyxl 로 기존 파일에 시트 추가
- 작업 종료 메시지 출력
● 실습 ❷ 웹 크롤링 + 자동화 🌐
# dollar_rate.py
import requests, csv, schedule, time
from bs4 import BeautifulSoup
def fetch():
html = requests.get('https://finance.naver.com/marketindex/').text
soup = BeautifulSoup(html, 'html.parser')
rate = soup.select_one('#exchangeList .value').text
with open('usdkrw.csv','a', newline='') as f:
csv.writer(f).writerow([time.strftime('%F %T'), rate])
print('📥 USD/KRW =', rate)
schedule.every().hour.do(fetch)
while True:
schedule.run_pending(); time.sleep(1)
흐름
- 매 시각 스케줄 트리거 → 2. HTML 파싱 → 3. 환율 추출 → 4. CSV 로그.
🧪 실전 사례 ────────────────────────
- Netflix: pandas+pyarrow 로 수십 PB 통계 파이프라인.
- NASA JPL: Python 스크립트로 화성 탐사선 명령 시뮬레이션.
- 카카오 i: 파이썬 기반 챗봇 서버, TensorFlow 모델 서빙.
🧠 고급 팁 or 자주 하는 실수 ────────────────────────
❌ 흔한 실수 🛠️ 대처
패키지를 전역 설치 → 충돌 | 가상환경(venv, conda) 사용 |
Jupyter만 쓰고 소스 관리 안 함 | .py 모듈화 + Git 버전관리 |
속도 문제로 "Python 느려" | Cython·PyPy·Numpy 벡터화 검토 |
🔑 팁
- 단순 자동화라면 1파일 스크립트+스케줄러로 충분.
- 성능 병목이 보이면 프로파일링 → 부분 최적화(C/C++).
✅ 마무리 요약 및 복습 포인트 ────────────────────────
☑️ Python = 낮은 진입장벽 + 강력한 생태계. ☑️ 업무자동화·크롤링·데이터분석·머신러닝에 최적. ☑️ 인터프리터 구조와 가상환경 개념을 먼저 익히자. ☑️ 작은 스크립트 하나라도 직접 실행해 보는 경험이 중요.
"코드를 실행하는 순간, 반복 업무가 버튼 하나로 바뀝니다." 지금 바로 첫 자동화 스크립트를 만들어 보세요!
'Flask' 카테고리의 다른 글
Chapter 1-5 Flask란? (0) | 2025.04.17 |
---|---|
Chapter 1-4 Flask 서버 구축을 위한 개발 환경 설정 (0) | 2025.04.17 |
Chapter 1-3_1 파이썬 내장 함수 / 외장 함수 (import) (0) | 2025.04.17 |
Chapter 1-3 파이썬 문법정리 (0) | 2025.04.17 |
Chapter 1-1 프로그래밍이란? (0) | 2025.04.17 |