noahgift/functional_intro_to_python

[tutorial]A functional, Data Science focused introduction to Python

해결하는 문제

이 저장소는 교육에 초점을 맞춘 Python 입문서로, 의도적으로 짧고 실용적으로 유지되며 프로그래밍 경험이 전혀 없는 절대 초보자를 대상으로 합니다. 데이터 과학 중심의 경로를 우선시하며 기계 학습, 선형 최적화, 빌드 시스템, 명령줄 도구, 추천 엔진, 감정 분석, 클라우드 컴퓨팅과 같은 고급 주제도 다룹니다.

작동 방식

수업은 notebooks/ 디렉토리의 Jupyter 노트북으로 제공되며, make install로 의존성을 설치한 후 uv run jupyter lab으로 실행할 수 있습니다. 도구 체인은 명시적으로 현대화되었습니다: 환경 및 의존성에는 uv, 린팅 및 포맷팅에는 ruff, 타입 검사에는 ty, 테스트에는 pytest 및 coverage(필수 100% 브랜치 커버리지), 계약에는 icontract 및 hypothesis를 사용합니다. 핵심 기능은 모든 예제를 depyler를 사용하여 Rust로 트랜스파일할 수 있으며, Rust 출력은 clippy -D warnings 및 proptest 동등성을 충족해야 합니다. 모든 품질 게이트는 Make 타겟을 통해 강제되며, CI의 grep 검사는 pip, pylint, black, mypy 또는 poetry와 같은 레거시 도구가 사용되지 않도록 보장합니다.

대상 독자

프로그래밍 배경이 없고 데이터 과학을 위한 Python으로 빠르고 최소한의 경로를 원하는 학습자를 위해 설계되었습니다. 또한 함수형 프로그래밍 스타일에 관심이 있는 프로그래머와 Python 코드가 형식 계약으로 검증되고 안전하게 Rust로 변환되는 방법에 궁금한 사람들에게도 유용합니다. 후반 수업은 난이도가 높아지므로 Python 맥락에서 ML, 최적화 및 클라우드 주제를 탐구하려는 사람들에게도 적합합니다.

주요 특징

  • 의도적으로 간결하고 실용적이며 데이터 과학 우선의 입문서
  • 현대적인 도구 체인: uv, ruff, ty, pytest, coverage – 레거시 도구 없음
  • 100% 브랜치 커버리지 강제, icontract 및 hypothesis를 통한 증명 가능한 계약
  • 모든 예제는 depyler를 통해 Rust로 트랜스파일 가능하며, Rust 측에서 엄격한 린트 및 속성 테스트 수행
  • 5가지 핵심 수업 포함: 입문 개념, 함수, 제어 구조, 중급 주제(클래스, 모듈, 라이브러리), 입출력
  • ML, 최적화, 빌드 시스템, CLI 도구, 추천 엔진, 감정 분석, 클라우드 컴퓨팅에 대한 추가 고급 섹션

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트