Chapter 1-2 왜 파이썬인가?

2025. 4. 17. 10:31·Flask

📌 개념 정리 ────────────────────────

 

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 기준)

  1. .py 소스코드 작성
  2. 파서가 AST(구문 트리) 생성
  3. 바이트코드( .pyc ) 컴파일
  4. 가상머신이 바이트코드를 한 줄씩 실행

구현체 특징 사용처

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('✅ 보고서 업데이트 완료')

흐름

  1. 입력: sales_raw.xlsx
  2. pandas 로 그룹합계 계산
  3. openpyxl 로 기존 파일에 시트 추가
  4. 작업 종료 메시지 출력

● 실습 ❷ 웹 크롤링 + 자동화 🌐

# 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)

흐름

  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
'Flask' 카테고리의 다른 글
  • Chapter 1-4 Flask 서버 구축을 위한 개발 환경 설정
  • Chapter 1-3_1 파이썬 내장 함수 / 외장 함수 (import)
  • Chapter 1-3 파이썬 문법정리
  • Chapter 1-1 프로그래밍이란?
Chansman
Chansman
안녕하세요! 코딩을 시작한 지 얼마 되지 않은 초보 개발자 찬스맨입니다. 이 블로그는 제 학습 기록을 남기고, 다양한 코딩 실습을 통해 성장하는 과정을 공유하려고 합니다. 초보자의 눈높이에 맞춘 실습과 팁, 그리고 개발하면서 겪은 어려움과 해결 과정을 솔직하게 풀어내려 합니다. 함께 성장하는 개발자 커뮤니티가 되기를 바랍니다.
  • Chansman
    찬스맨의 프로그래밍 스토리
    Chansman
  • 전체
    오늘
    어제
    • 분류 전체보기 (582) N
      • Python (31)
      • 프로젝트 (43)
      • 과제 (25)
      • Database (40)
      • 멘토링 (10)
      • 특강 (26)
      • 기술블로그 (196) N
      • AI 분석 (3)
      • HTML & CSS (31)
      • JavaScript (17)
      • AWS_Cloud (21)
      • 웹스크래핑과 데이터 수집 (14)
      • Flask (42)
      • Django (58)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Chansman
Chapter 1-2 왜 파이썬인가?

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.