00. 파이썬 개발환경

안녕하세요. 이전 포스팅 은 우리가 왜(Why) 파이썬을 하는지를 주제로 얘기를 해봤는데요. 이번 포스팅은 Python 을 본격적으로 시작하기 전에 어떤것들을 다룰 것인지 먼저 말씀드리고자 합니다.

우선 저는 앞으로 다룰 내용을 크게 세가지로 나눠서 단계별로 다루려고 합니다. (여기서 나누는 기준은 단지 제가 지금까지 Pyhton을 다뤄보면서 느꼈던 순수히 저의 기준에서 나눈 것임을 말씀드립니다.)

  • Step 1 메모리와 변수에 대한 개념, 그리고 자료형, 연산, 기초 문법(반복문, 조건문) 등…
  • Step 2 함수(Function), 클래스(Class), 모듈(Module) 등…
  • Step 3 병렬처리, 데코레이터, 패키지 빌드, Pythonic한 코딩 등…
  • Step + 추가 꿀팁, 공유하면 좋을 기능들 등… (수시로 짧게 포스팅 예정)

그리고 파이썬 프로그래밍을 위한 “개발환경” 세팅(설치)에 대해서는 다루지 않을 예정입니다. (이미 많은 분들이 너무나도 잘 정리 해주신 자료가 많기때문에…)

대신 “개발환경” 에 대해서 잠깐 짚고 넘어가겠습니다. 크게 3가지로 구성되었다고 할 수 있을 것 같은데요.

  1. 운영체제 (Operating System, OS)
  2. Python Interpreter
  3. 코드 편집기 (Editor)

이 3가지에 대해서 각각이 무엇이고 어떤 것들이 있는지를 먼저 알고 넘어가면 좋을 듯 합니다.

운영체제 (Operating System, OS)

운영체제는 많이 들어보셨을 것 같습니다. 대표적으로 Winodw, Mac, Ubuntu(Linux) 가 있습니다.

아마 코딩을 처음 입문 하시는 분은 대부분 Window 혹은 Mac 이겠죠. Ubuntu(Linux)에 대해서는 Reference 참고하시면 좋을듯 합니다. 여기서는 ‘지금 내 개발환경에서의 OS 는 이거구나’ 정도로 이해하고 넘어가겠습니다.

Python Interpreter

Python Interpreter 는 대표적으로 Python, Anaconda(or Miniconda) 이 있습니다. (저는 Anaconda를 사용합니다) 음...? Python InterpreterPython 이라는건 무슨 말이지? 싶을 텐데요.

여기서 인터프리터란,

인터프리터(Interpreter)는 프로그래밍 언어의 소스 코드를 바로 실행하는 컴퓨터 프로그램 또는 환경을 말한다. 원시 코드를 기계어로 번역하는 컴파일러와 대비된다. -위키백과-

결국, 우리가 앞으로 작성할 소스코드를 동작할 수 있게 해주는 프로그램인데, 우리가 지금 Python 을 할 것이기 떄문에 Python Interpreter라고 한 것입니다. 만약 JavaScript 에 대해서 다뤘다면, JavaScript Interpreter라고 적었겠죠. 그리고 마지막에 “컴파일러와 대비된다” 라는 설명이 있는데요.

인터프리터컴파일러의 차이는

  • 인터프리터는 개발 편의성이 높지만, 실행 속도는 느리다. (Python, JavaScript, Ruby,...)
  • 컴파일러는 개발 편의성은 떨어지지만, 실행 속도는 빠르다. (Java, C, C++,...) 우선 이정도까지만 정리하겠습니다. 더 자세한 설명은 Reference 참고하시면 좋을듯 합니다.

저는 Anaconda 를 사용하고 있습니다. 그 이유는

  1. 가상환경(virtual env) 구성이 쉽다. (프로젝트 별 필요 라이브러리를 적절히 구성하기 용이함)
  2. 모듈 별 디펜던시(dependency)를 알아서 관리해준다. (버전 업데이트에서 생기는 기존에 설치된 모듈과의 충돌 방지해줌)

위 장점에 대해서 따로 더 설명하진 않겠습니다.(아마 직접 개발하시면서 몸으로 느끼게 될 거라고 생각합니다)

코드 편집기 (Editor)

마지막으로 에디터 인데요. 말그대로 우리가 Python 이라는 언어를 작성하고 수정하는 행위들을 할 수 있도록 돕는 도구 입니다. 좋은 에디터 일수록, 개발자를 잘 서포팅(?)해주고, 코딩을 수월하게 할 수 있게 도와줍니다. 대표적으로는 Pycharm, Visual Studio Code, Jupyter Notebook(or Lab), Sublime Text, Atom 등 다양한데요. 보통 개인이 선호하는걸 사용합니다. (저는 Visual Studio Code 를 주로 사용하고 있습니다 ^^)

결론

이번 포스팅에서는 Python 을 본격적으로 시작하기에 앞서 단계별로 어떤 것을 다룰 것인지, 그리고 개발환경에 대해서 얘기를 해봤는데요. 개발환경운영체제, 인터프리터, **에디터**로 구성되고 개발자는 에디터를 통해 소스코드를 작성하고(Python 문법에 맞게) 인터프리터가 코드를 읽고 실행시켜준다로 요약해볼 수 있을 것 같습니다.

이상으로 이번 포스팅은 마치겠습니다. 추가 의견이나 수정이 필요한 부분이 있다면 언제든지 거침없는 피드백 부탁드립니다! 부족한 글 읽어주셔서 감사합니다!

Reference

댓글