[1장] 공식 문서로 알아보는 Python의 모든 것 시작

한창훈
July 11, 2025

[1장] 공식 문서로 알아보는 Python의 모든 것 시작

Use Original Cover Image
Type
Post
Children
Language
ko
Tags
Python
Computer Architecture
Interpreter
Compile
Authors
한창훈
Published
July 11, 2025
💻
우리는 왜 파이썬을 쓰는가?

1. 인터프리터 언어 vs 컴파일 언어: 빠른 피드백 루프

notion image
  • 컴파일 언어(C/C++/Java)
    • notion image
    • 소스 → (전통적인) 기계어 → 실행
    • 장점: 네이티브 성능, 최적화 가능
    • 단점: 작성 → 컴파일 → 재실행 사이클이 길고, 수정할 때마다 전체 빌드해야 함
  • 인터프리터 언어(Python, Ruby 등)
    • 소스 → 바이트코드(.pyc) → 가상 머신에서 한 줄씩 실행
    • 장점: 수정 즉시 실행 가능, REPL로 실험하기 편함
    • 단점: 네이티브 대비 실행 속도 느림, GIL 등 동시성 제약
  • 파이썬은 절충안
    • notion image
    • 바이트코드 컴파일 + 인터프리팅 구조로, 매번 전체 구문 분석(parse)을 하지 않아도 됨.
    • 덕분에 “컴파일 언어처럼 빠른 시작”과 “인터프리터처럼 짧은 피드백 루프”의 장점을 동시에 취할 수 있음

1.1 파이썬 인터프리터 사용법 (튜토리얼 챕터 2 요약 보강)

  • 실행 및 호출 방식(REPL: “읽기(Read) → 평가(Eval) → 출력(Print) → 반복(Loop)”)
    • 인터랙티브 모드: 터미널에서 python3.13만 입력하면 즉시 REPL 환경이 시작되고, 한 줄씩 코드를 실행하며 즉각적인 결과를 확인할 수 있음
    • 스크립트 모드: python script.py로 파일을 일괄 실행하며, 모든 입력이 한 번에 파싱·실행된 뒤 종료됨
    • 인라인 실행: python -c "command" 옵션을 사용해 짧은 코드 조각을 즉시 실행할 수 있음
    • 모듈 실행: python -m module_name으로 모듈을 __main__으로 실행하고, 모듈 경로를 스크립트처럼 처리함.

2. 개발자 관점의 생산성 vs 성능 트레이드오프

  • “빠른 개발”이 곧 빠른 실험
    • 머신러닝 모델 프로토타입 짤 때, 몇 줄의 스크립트로 데이터 전처리 → 학습 → 평가까지 한 번에 돌려볼 수 있음.
    • C/C++로 전처리 로직 짜고, 빌드하고, 디버깅하는 시간과 비교 불가임.
  • 고수준 자료구조 & 풍부한 표준/서드파티 라이브러리
    • 리스트, 딕셔너리, 튜플 같은 내장 컨테이너만으로도 복잡한 데이터 조작이 한 줄에 해결됨.
    • numpy, pandas, scikit-learn, TensorFlow/PyTorch 같은 생태계가 이미 잘 정립돼 있어서, 포맷 변환·수치 계산·모델 학습까지 토막 코드처럼 붙여 쓰면 됨.
  • 단점은 보완 가능
    • 속도가 느리다면 핵심 병목만 Cython/C 확장 모듈로 빼거나, PyPy JIT을 써서 보완할 수 있고,
    • 멀티쓰레드 병렬 처리가 필요하면 프로세스 풀이나 외부 분산 시스템(Ray, Dask 등)을 활용하면 됨. MPI 파이썬 병렬처리

3. AI 공부할 때 최고

  1. 즉시성(Instant Gratification)
      • REPL 환경에서 데이터프레임 출력해보고, 시각화도 바로바로 확인.
      • 디버깅 용도로도 ipdb나 pdb 바로 띄워서 스텝 바이 스텝 실행.
  1. 튜토리얼·예제·커뮤니티
      • 공식 튜토리얼, Stack Overflow, GitHub에 깔린 수만 개의 Jupyter 노트북.
      • “이 코드를 돌려보니 결과가 이렇게 나오더라”를 그대로 가져다 써도 되고, 파생해서 실험하기 좋음.
  1. 플랫폼 독립성
      • Windows/macOS/Linux 어디서나 똑같이 설치해서 실행 가능.
      • 바이트코드(.pyc)와 PVM 구조로 하드웨어 디펜던시 최소화

4. 파이썬은 성능보다는 생산성을 우선시하는 언어다!

  • 빠른 개발 피드백 루프, 고수준 자료구조, 방대한 라이브러리, 이식성, 커뮤니티 문화가 한데 어우러져
  • 머신러닝·딥러닝 모델 실험부터, 배포 스크립트 작성, 데이터 시각화, 리포트 자동 생성까지 빠르게 빌드해볼 수 있기 때문에 우리는 파이썬을 공부할 필요성이 있다.