Post

.py와 .ipynb

.py와 .ipynb

.py ?

예전부터 깃헙에 있는 오픈 소스를 보면 매번 의문이 들었던 것이 바로.py파일이었다.

나는 작업을 주피터 노트북 .ipynb로 하는데… 진짜 프로들은.py 하드코어하게 코딩을 하는 것일까?

그래서 왠지 .ipynb 파일은 깃허브에 올리기도 민망했고 심지어 포맷❗도 지원해주지 않는다.

하지만 이제 git을 사용하는 입장에서 배우기 귀찮다고 내가 하던 방식만 고수하지 말고, 천천히 공부하면서 받아들이기로 했다.

🟡 셰프의 주방(.ipynb) vs. 공개용 레시피 카드(.py)

  • .ipynb (주피터 노트북): 여기는 아이디어를 실험하는 ‘나만의 주방’
  • .py (파이썬 스크립트): 이건 최종적으로 완성된 ‘공개용 레시피 카드’

말그대로 .ipynb는 내 의식의 흐름대로 이것저것 해보는 것이고 .py는 이렇게 정리된 생각을 잘 정돈해서 내놓는 코드라고 보면 된다.

따라서, 내가 해왔던 .ipynb 방식으로 코딩을 하는 것은 매우 자연스러운 일이라는 것.

🟡 왜 깃허브에서는 .py를 선호할까?

핵심은 재사용성(Reusability)재현성(Reproducibility)이다. .py를 모듈화 라고 배웠는데 이것은 코드의 재사용성을 높이고 유지 보수를 쉽게 한다. 즉, 깃허브에서 협업을 하기 위해서는 이러한 재사용성은 필수이기 떄문이다.

🟡 .ipynb vs .py in Deep Learning

항목.ipynb (Jupyter).py (Script)
목적실험, 시각화, 튜토리얼재현성, 자동화, 배포
실행 방식셀 단위 실행전체 순차 실행
Git 관리diff 보기 어려움텍스트 기반, Git 친화적
재사용낮음높음
시각화즉시 확인 가능별도 코드 필요

💡 실험은 .ipynb → 코드화는 .py로 리팩토링하는 습관을 들이면
협업, 논문 리뷰어, 공개 재현 모두에게 신뢰를 주게 된다.

This post is licensed under CC BY 4.0 by the author.