[Python 입문 강좌 -1] 파이썬이란?

2021. 8. 31. 00:58

☞    문서의 내용은 가장 하단 참고문헌 및 사이트를 참고하여 필자가 보기 쉽도록 정리한 내용입니다.

☞    틀린 내용 및 저작권 관련 문의가 있는 경우 문의하시면 수정 및 삭제 조치하겠습니다.


인터프리터 언어와 컴파일 언어

파이썬을 알아보기 전에 컴파일 언어와 인터프리터 언어에 대해서 간단히 알아보도록 하겠습니다. 컴퓨터가 코드를 알아듣기 위해서는 컴퓨터의 언어 010101로 변경해줘야 한다. 이때 이 컴퓨터 언어(기계어)를 번역해주고 실행하는 방식에 따라 컴파일 언어와 인터프리터 언어로 나눠집니다. 


컴파일 언어

컴파일 언어는 번역과 실행이 따로 이루어집니다. 컴파일러를 통해 번역을 하고 번역된 파일을 실행합니다. 여기서 기계어를 변경해주는 것이 컴파일러입니다. 이 컴파일러를 거치면 실행 가능한 파일(프로그램)이 생성됩니다. 컴파일 언어는 대표적으로 C, C++, C#, JAVA 등이 있습니다. 컴파일 언어는 컴파일러 단계가 필요하기 때문에 인터프리터 언어보다 생산 속도가 느립니다. 하지만 컴파일을 한 뒤에 생성된 파일에 의해 프로그램이 번역되고 실행되기 때문에 실행 속도는 빠릅니다. 


인터프리터 언어

인터프리터 언어는 번역과 실행이 동시에 일어납니다.  이 인터프리터 언어는 소스코드를 한 줄 한 줄씩 읽어 들이면서 실행합니다. 때문에 인터프리터는 별도의 실행파일이 존재하지 않습니다. 인터프리터 언어는 대표적으로 Python, Java Script. HTML 등이 있습니다.  인터프리터 언어는 컴파일러 단계가 없어 과정이 단순합니다. 때문에 생산 속도가 빠릅니다. 하지만 인터프리터 언어는 한 줄 한 줄 읽어 번역하고 실행하기 때문에 실행 속도가 느립니다. 연산속도나 실행 속도에 민감함 프로그램은 인터프리터 언어로 개발하지 않는다.


파이썬이란?

파이썬(Python)은 1990년 암스테르담의 귀도 반 로섬이 개발한 인터프리터 언어입니다. 귀도는 파이썬이라는 이름을 자신이 좋아하는 쇼미디인 "몬티 파이썬의 날아다니는 서커스"에서 따왔다고 합니다.

귀도 반 로섬몬티 파이썬의 날아다니는 서커스
(좌) - 귀도 반 로섬(출처 : 위키백과) / (우) 몬티 파이썬의 날아다니는 서커스(출처 : 넷플릭스)


파이썬의 사전적 의미는 고대 신화에 나오는 파르나소스 산의 동굴에 살던 큰 뱀을 뜻합니다. 대부분의 파이썬 책 표지와 아이콘이 뱀 모양으로 그려져 있는 이유가 여기 있습니다.

뱀 이미지
뱀 (출처 : https://post.naver.com/viewer/postView.naver?volumeNo=31462655&memberNo=44115949 )


파이썬은 컴퓨터 프로그래밍 교육에 많이 사용됩니다. 하지만 기업에서도 많이 사용합니다. 가장 많이 알려진 예를 들면 인스타 그램, 드롭박스입니다.

 

인스타그램 로고드롭박스 로고
(좌) 인스타 그램 로고 / (우) 드롭박스 로고


파이썬 프로그램은 공동 작업과 유지 보수가 매우 쉽습니다.  많은 프로그램과 모듈이 파이썬으로 재구성되고 있습니다. 사용자 층이 넓어지고 있고, 파이썬을 사용해 프로그램을 개발하는 업체들 또한 늘어 가고 있는 추세입니다. 더욱이 인공지능의 개발로 인해서 사용량이 증가했습니다.

 

프로그래밍 언어 순위


파이썬 특징

첫 번째로  인간다운 언어입니다.  프로그래밍이란 인간이 생각하는 것을 컴퓨터에서 지시하는 행위라고 할 수 있습니다. 때문에 인간의 언어에 가까울수록 프로그래밍을 하기에 쉽습니다. 아래 예시 코드를 보면 프로그래밍 언어를 한번 도 접하지 않았어도 대충 어떤 뜻인지 알 수 있습니다. (만약 4가 1, 2, 3, 4 중에 있다면 "4가 있습니다."를 출력하라 라는 코드입니다.

파이썬 코드 예시


두 번째는 문법이 쉬워 빠르게 배울 수 있습니다.  파이썬 문법 자체가 쉽고 간결하며 사람의 사고 체계와 매우 닮아 있습니다. 유명한 프로그래머인 에릭 데이먼드는 파이썬을 공부한 지 하루 만에 자신이 원하는 프로그램을 작성할 수 있었다고 합니다.

 

에릭 데이먼드
에릭 데이먼드 (출처: 위키백과)


세 번째는 무료지만 강력합니다. 사용료 걱정 없이 언제 어디서든 다운로드하여 사용할 수 있습니다. 또한 C 언어와 찰떡궁합을 이루고 있습니다. 전반적인 뼈대는 파이썬으로 만들고 빠른 실행 속도가 필요한 부분은 C로 만들어 프로그램 안에 포함시킵니다. 이런 장점 때문에 파이썬 라이브러리 중 C로 만들어진 것도 많습니다. 대표적으로 Numpy가 있습니다. 여기서 라이브러리는 파이썬 프로그램을 작성할 때 불러와 사용할 수 있는 미리 만들어 놓은 파일 모음이라고 생각하면 좋습니다.


네 번째파이썬은 간결합니다. 만약 한 가지 일을 처리할 수 있는 100가지 방법이 있다면 파이썬은 그중 가장 좋은 방법 1가지 만을 선호합니다. 또한 파이썬은 줄을 맞추면 프로그램이 실행되지 않기 때문에 꼭 줄을 맞춰줘야 합니다. 때문에 이런 점이 코드의 가독성을 높이는데 매우 크게 도움이 됩니다.

 

파이썬 가독성 예시
파이썬 코드의 가독성 예시 (출처 : 위키독스(점프 투 파이썬))


파이썬으로 무엇을 할 수 있을까?

프로그래밍 언어를 좋은 언어와 나쁜 언어로 구별할 수는 없습니다. 대신 강점과 약점이 있을 뿐입니다. 어떤 프로그래밍 언어가 어떤 일에 효율적인지 안다는 것은 프로그래머 생산성을 크게 높일 수 있는 힘이 됩니다.

 

프로그래밍 언어 로고
프로그래밍 언어 로고 (출처 : https://www.plataformademujeresartistas.org/dart-programming-language.html)


첫 번째로 시스템 유틸리티를 제작할 수 있습니다.  파이썬 운영체제(윈도, 리눅스 등)의 시스템 명령어를 사용할 수 있는 각종 도구를 갖추고 있기 때문에 이를 바탕으로 시스템 유틸리티를 만들 수 있습니다. 실제로 시스템에서 사용 중인 서로 다른 유틸리티 성 프로그램을 하나로 뭉쳐 좋은 프로그램들을 무수히 만들 수 있습니다.

 

반디집 이미지알약 이미지
(좌) 반디집 / (우) 알약


두 번째로 GUI(Graphic User Interface)를 제작할 수 있습니다. GUI 프로그래밍이란 쉽게 말해 화면에 창을 만들고 그 창에 프로그램을 동작시킬 수 있는 메뉴나 버튼, 그림 등을 추가하여 사용자가 편리하게 사용할 수 있도록 하는 것을 말합니다. 파이썬은 GUI 프로그래밍을 위한 도구들이 있어 GUI를 제작하기 쉽습니다.

 

파이썬 GUI
파이썬 GUI (출처 : https://dev.to/jones268/python-gui-pyqt-or-tkinter-4jo6)


세 번째 C/C++와의 결합입니다. 파이썬은 접착 언어라고 많이 부르는데 그 이유는 다른 언어와 잘 결합해서 사용할 수 있기 때문입니다. C, C++로 만든 프로그램을 파이썬에서 사용할 수 있으며, 파이썬으로 만든 프로그램 역시 C, C++에서 사용할 수 있습니다.

파이썬 C++ 로고
파이썬, C++ 로고


네 번째는 웹 프로그래밍이 가능합니다. 파이썬은 우리가 일상적으로 사용하는 익스플로러, 크롬, 사파리 등의 브라우저로 접속하여 게시판에 글을 남기거나 구매를 하거나 하는 것을 할 수 있도록 프로그래밍하는 것이 웹프로그램입니다. 파이썬은 이런 웹프로그램을 만들기에도 매우 적합합니다. 때문에 실제로 파이썬으로 제작한 웹사이트가 많습니다.

 

파이썬 웹프로그래밍
파이썬 웹프로그래밍 (출처 : https://semidotinfotech.com/blog/top-10-python-frameworks-to-use/)


여섯 번째는 데이터베이스 프로그래밍입니다. 파이썬은 MySQL, Oracle 등의 데이터베이스에 접근하기 위한 도구를 제공합니다. 또한 파이썬은 피클(pickle)이라는 모듈을 지원하여 파이썬에서 사용하는 자료를 변형 없이 그대로 파일에 저장하고 불러오는 것을 할 수 있습니다.

 

파이썬, SQL
파이썬 , SQL (출처 : https://dmslive.io/news-and-articles/article0)


일곱 번째는 데이터 분석 및 사물 인터넷입니다. 파이썬으로 만든 판 다스(Pandas) 모듈을 사용하면 데이터 분석을 쉽고 효과적으로 할 수 있습니다.  데이터 분석에 특화된 R이라는 언어가 있지만 판다스가 등장하고 나서 파이썬을 사용하는 경우가 점점 증가하고 있습니다. 또한 파이썬은 사물 인터넷 분야에서도 많이 사용됩니다. 예로 라즈베리파이는 리눅스 기반의 아주 작은 컴퓨터로 홈시어터, 아주 작은 게임기 등을 만들 수 있습니다. 이때 이 라즈베리 파이를 제어하는 도구로 파이썬이 사용됩니다.

 

라즈베리파이
라즈베리파이 (출처 : 위키독스)

 


참고문헌

 

 

컴파일 언어와 인터프리터 언어

* 컴파일 언어란? - 소스코드를 목적코드로 옮기는 것. (여기서 말하는 목적코드는 컴파일러나 소스코드 파일을 컴파일 해서 생성하는 파일을 말한다.) -번역과 실행이 따로 이루어진다. * Compiler(

hoon26.tistory.com

 

index | TIOBE - The Software Quality Company

TIOBE Index for August 2021 August Headline: Data Mining and AI languages are booming in the TIOBE index Smart phones were the new hit many years ago. As a consequence, the programming languages that were used to write mobile applications became very popul

www.tiobe.com

 

01-1 파이썬이란?

파이썬(Python)은 1990년 암스테르담의 귀도 반 로섬(Guido Van Rossum)이 개발한 인터프리터 언어이다. 귀도는 파이썬이라는 이름을 자신이 좋아하는 코미디 ...

wikidocs.net