파이썬 실행의 두 가지 접근법
지난 시간까지 우리는 파이썬을 배우는 이유와 배경을 알아보고, 간략한 테스트 코드를 실행해 봤습니다.
하지만, (얻는 결과에 비해) 파이썬 작업 과정이 번거롭고 귀찮다는 사실 또한 알게 됐는데요.
이를 편하게 만들기 위해 다음과 같은 두 가지 방식의 접근 방식(코딩 환경)이 주로 사용됩니다.
(전문적인 영역에서 IDE-전문 개발 환경-으로 이야기되기도 합니다만, 어디까지나 초보 기준으로 이해하기 위해....)
1) 텍스트 에디터
2) (주피터) 노트북
이 두 가지 접근 방식은 코딩 스타일부터 주 작업 영역까지 꽤 폭넓은 범위에 영향을 줄 수 있습니다.
(물론, 숙련된 프로그래머는 두 가지 방식을 모두 자유롭게 사용합니다)
오늘은 파이썬 작업의 효율을 높이기 위한 두 가지 접근법의 특징과 추천 작업에 대해 알아보겠습니다.
텍스트 에디터 기반
텍스트 에디터 기반 실행 방식은 "전체 명령 목록을 구성"하고 "실행"하는 데 중심을 둡니다.
만약, 물가를 확인하는 프로그램을 만든다면.
1. 인터넷 쇼핑 페이지에 접근한다
2. 물건 목록을 불러와서 가격을 조사한다
3. 빈 문서를 생성한다
4. 물가 목록을 작성한다
이런 식의 명령어 묶음을 만들고(그래서 "텍스트 에디터"입니다. 프로그래밍 언어로 작성됐을 뿐 그냥 "문서"기 때문입니다).
파이썬을 호출해서 목록을 전달하고 "이대로 실행"이라고 명령어 묶음을 전달하는 것입니다.
노트북 기반
노트북 기반 실행 방식은 "실행"을 중심으로 "코딩"을 합니다.
즉, 똑같은 작업을 할 때.
1. 일단 파이썬을 불러서 대기시킨다.
2. "가게에 가!"라고 말한 후 가게에 갔는지 확인한다
3. "탐색을 하고 기록해!"라고 말한 후 일을 하는지 확인한다
4. "목록을 만들어!"라고 명령을 한다.
이런 식으로 명령을 하나 실행하고 확인하고, 하나 실행하고 확인(혹은 수정하고)하고 하는 것입니다.
텍스트 에디터 vs 노트북
두 실행 방식은 "파이썬에 명령을 전달한다"라는 측면에서는 동일하지만 작업 흐름 측면에서 큰 차이가 납니다.
텍스트 에디터 기반의 작업은 "(내 or 외부 컴퓨터에서) 한번 실행한 상태를 유지해야 하는 작업"에 적합하고,
노트북 기반의 작업은 "결과물을 확인하면서 반복적으로 수정해야 하는 작업"에 적합하기 때문입니다.
다른 방식으로 본다면
텍스트 에디터 - 정교하게 짜 놓은 코드를 통해 자동화된 업무 수행
노트북 - 명령 & 피드백을 통해 데이터를 탐색하는 데 집중된 작업
이라고 볼 수도 있습니다.
그렇기에, 텍스트 에디터 기반은 서버 기반의 작업에, 노트북 기반은 개인 작업에 적합하다고 볼 수 있습니다.
예를 들어,
1. 전국에서 매일 매출 데이터를 받아 정리하는 작업을 파이썬으로 작성한다면 노트북보다는 텍스트 에디터를 사용하는 것이 편리하고
2. 결과 보고서를 정리해서 시각화하거나 통계로 확인하는 작업은 노트북 사용이 편리할 것입니다.
(더 높은 레벨에서, 클래스를 다루고 패키지를 만든다면 텍스트 에디터가 권장되지만 여기서는 설명하기 어렵군요)
이런 이유로, 파이썬 초보자에게는 "바로바로 결과를 확인 가능한" 노트북 기반 학습 환경이 많이 추천됩니다.
특히, 머신러닝을 배경으로 한 데이터 과학에서 필수적인 "데이터 클리닝 or 전처리"작업은 끝없는 수정 & 확인 과정을 필요하기 때문에 노트북을 사용하는 것이 아주 편리합니다.
하지만, 하루 혹은 일주일이 걸리는 딥러닝 모델 학습이나 서버 작업이 포함된 작업 등 좀 더 깊은 레벨로 코딩 영역을 넓히려 한다면 텍스트 에디터와 터미널 사용을 배울 필요가 있습니다.
어떤 프로그램을 사용할까?
어느 정도 레벨(?)에 다다르면 알겠지만, 사실 텍스트 에디터나 노트북 방식이나 파이썬이라는 큰 틀에서는 별 차이가 없습니다.
다만, 주로 선호되는 프로그램에서 차이가 있습니다.
텍스트 에디터의 경우 VS Code가 많이 사용되고 있지만, 본질적으로는 "명령어를 적는" 작업을 편리하게 만들어 주는 것이 핵심이기 때문에 개인 취향에 따라 여러 프로그램을 사용할 수 있습니다.
(서버 단위에서 작업하는 고수의 세계(?)에서는 vi나 vim과 같이 극단적으로 키보드 조작에 집중된 프로그램을 사용하기도 합니다)
노트북 기반의 방식은 흔히 Jupyter Notebook으로 불리는 추가 패키지를 설치하여 사용하며, 편리한 브라우저를 선택하여 노트북을 조작할 수 있습니다.
(다만, 노트북 방식이 데이터를 다루는 데 보편적으로 사용됨에 따라 VS Code에서도 확장 패키지를 설치하여 노트북을 편집하는 것이 가능해졌습니다)
특히, 구글에서 "노트북 환경"을 손쉽게 사용할 수 있는 콜랩(Colaboratory)을 제공함에 따라 최근에는 인터넷만 연결된다면 파이썬과 추가 패키지를 사용하지 않고서 클라우드 상에서 코딩하는 것이 가능해졌습니다.
시작은 노트북부터
오늘 포스팅에서 확인할 수 있듯이, 텍스트 에디터로 코딩을 한 후 한 번에 파이썬 작업을 수행하는 것보다 노트북 작업은 초보자 & 데이터를 다루는 데 적합한 형태를 갖고 있습니다.
특히, 콜랩(Colab)과 같은 구글 제공 환경을 사용할 경우 파이썬 설치 & 패키지 관리라는 골치 아픈 작업을 건너뛰고 바로 코딩 작업에 들어갈 수 있기 때문에 초보자에게는 노트북 환경을 이용한 코딩으로 파이썬을 접근하는 것을 추천합니다.
이에 따라, 다음 시간에는 구글의 콜랩(Colab)에 대해 간단히 알아보고 실제 코딩 테스트를 수행해 보겠습니다.
'데이터과학 기초 > Python배우기' 카테고리의 다른 글
파이썬 쉽게 배우기 (2) - 아나콘다로 파이썬 기본 환경 설정하기 (0) | 2022.09.17 |
---|---|
파이썬 쉽게 배우기 (1) - 프로그래밍 기초 용어 이해하기 (2) | 2022.09.10 |
헷갈리는 csv, tsv 한번에 정리하자 - TidyData(타이디데이터) (0) | 2022.08.20 |
파이썬으로 빠르게 글자 수 세기 - Counter (0) | 2022.08.17 |
conda로 손쉽게 파이썬 환경 관리하자 (Intel부터 M1까지) - 기초 (2) | 2022.07.31 |