관리 메뉴

클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지

파이썬이란 무엇인가? 1 - 파이썬의 특징과 파이썬으로 할 수 있는 일 본문

프로그래밍 언어/파이썬

파이썬이란 무엇인가? 1 - 파이썬의 특징과 파이썬으로 할 수 있는 일

huenuri 2024. 8. 31. 10:12

오늘부터 파이썬 공부를 시작해 보기로 했다. 조금 전 이른 아침까지 해서 열흘 동안 JSP/Servlet 공부를 마쳤다. 모든 단계를 전부 다 학습하기에는 열흘이라는 시간은 택도 없이 부족하고 난 보통 짧으면 일주일에서 길면 2주까지 한 과목 단위로 집중 학습을 하는 중이다. 이렇게 하면 그 과목에 대한 흥미도 생기고 어느 정도 파악을 할 수 있는 실력을 갖추게 된다는 걸 알게 되었다.

이렇게 해서 지난 8월 한달 동안 HTML/CSS, 자바에 이어 JSP까지 공부를 진행했다. 네 번째로 공부할 분야는 파이썬이다. 그동안 공부했던 엘리스를 다시 처음부터 복습할 것이며 이번에 새로 구입한 책으로 학습을 진행할 것이다. 일주일 동안 이 책 한 권과 엘리스, 인사교 수업 영상까지 모두 듣고 학습을 마친 다음에는 본격적으로 게임 개발의 세계로 들어가 볼 것이다. 그러면서 판다스와 넘파이 등 지난번에 공부하다 말았던 부분까지 학습해 볼 것이다. 게임 개발은 정말 하고 싶지만 그때까지만 참아볼 것이다.

 

내가 정말로 하고 싶은 일을 미끼로 하기 싫지만 꼭 해야 하는 일을 진행하는데 보상으로 사용한다면 9월에는 8월보다 더 열심히 공부할 수 있으리라 생각한다.

그럼 이제 파이썬 공부를 본격적으로 시작해보자! 책을 한 권 구입했는데 이 책과 함께 기초부터 차근차근 밟아나가려고 한다.


 

 

 

1. 파이썬이란?

 

파이썬은 1990년 암스테르담의 귀도 반 로섬이 개발한 인터프리터 언어이다. 파이썬의 사전적 의미 '고대 신화에 나오는 파르나소스 산의 동굴에 살던 큰 뱀'을 뜻하며, 아폴로 신이 덴파이에서 파이썬을 퇴치했다는 이야기가 전해지고 있다. 대부분의 파이썬 책 표지와 아이콘이 뱀 모양으로 그려져 있는 이유는 바로 이 때문이다.

파이썬은 컴퓨터 프로그래밍을 교육할 때뿐 아니라 기업에서 실무를 할 때도 많이 사용한다. 그 대표적인 예가 구글이다. 구글에서 만든 소프트웨어의 50% 이상의 파이썬으로 작성되었다는 이야기도 있을 정도이다. 이밖에도 인스터그램, 넷플릭스, 아마존 등 우리가 알고 있는 많은 IT 기업에서 파이썬을 사용한다.

 

 

파이썬 프로그램은 공동 작업과 유지 보수가 매우 쉽고 편리하다. 이 때문에 이미 다른 언어로 작성된 많은 프로그램이 파이썬으로 재구성되고 있다.


 

 

 

2. 파이썬의 특징

 

프로그래밍이란 인간이 생각하는 것을 컴퓨터에 지시하는 행위를 말한다. 파이썬은 사람이 생각하는 방식을 그대로 표현할 수 있는 언어이다. 따라서 파이썬을 사용하는 프로그래머는 굳이 컴퓨터의 사고 체계에 맞추어 프로그래밍하려고 애쓸 필요가 없다.

파이썬은 문법이 매우 쉽고 간결하며 사람의 사고 체계와 매우 닮아 있다.

 

 

 

파이썬은 오픈 소스이므로 무료이다. 오픈 소스란 저작권자가 소스 코드를 공개하여 누구나 별다른 제한 없이 자유롭게 사용 ˙ 복제  ˙ 배포 ˙ 수정할 수 있는 소프트웨어를 말한다.

매우 복잡하고 반복 연산이 많은 프로그램은 파이썬과 어울리지 않는다. 하지만 파이서선은 이러한 약점을 극복할 수 있도록 다른 언어로 만든 프로그램을 파이썬 프로그램에 포함시킬 수 있다.


 

 

 

 

컴파일 언어와 인터프리터 언어의 차이점

 

 

 

 

 

 

컴파일 언어는 컴퓨터 언어로 번역한 것을 프로그램이 바로 읽을 수 있어 속도가 빠르다. 반면 인터프리터 언어는 한 줄씩 코드를 읽기 때문에 속도가 느린 단점이 있다.


 

 

 

 

줄을 맞추지 않으면 실행이 되지 않아 보기 좋게 예쁘게 쓸 수밖에 없다. 귀도는 파이썬을 의도적으로 간결하게 만들었다. 펄과 같은 프로그래밍 언어가 100가지 방법으로 1가지 일을 처리할 수 있다면, 파이썬은 가장 좋은 방법 1가지만 사용하는 것을 선호한다. 이 간결함의 철학은 파이썬 문법에도 그대로 녹아 있어 파이썬 프로그래밍을 하는 사람들은 잘 정리되어 있는 소스 코드를 볼 수 있다. 그 덕분에 다른 사람이 작업한 소스 코드를 이해하기 쉽다.

이렇듯 줄을 맞추어 코드를 작성하는 행위는 가독성에 많은 도움이 된다.

 

프로그래밍을 즐기게 해준다

파이썬은 프로그래머가 다른 부수적인 개념이나 제한 사항 등에 신경 쓸 필요 없이 만들고자 하는 기능에만 집중할 수 있게 해 준다. 파이썬을 배우고 나면 다른 언어로 프로그래밍하는 것이 지루하다고 느낄지도 모른다.

 

 

 

 


 

 

 

 

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

프로그래밍 언어가 어떤 일에 효율적인지 안다는 것은 프로그래머의 생산성을 크게 높일 수 있는 힘이 된다. 파이썬으로 하기에 적당한 일과 적당하지 않은 일에 대해 알아보자.

 

 

파이썬은 운영체제의 시스템 명령어를 사용할 수 있는 각종 도구를 갖추고 있기 때문에 이를 바탕으로 파일 관리, 로그 분석, 시스템 모니터링과 같은 여러 가지 시스템 유틸리티를 만드는데 유리하다. 시스템에서 사용 중인 서로 다른 유틸리티성 프로그램을 하나로 합쳐 보다 유용한 프로그램들을 무수히 만들어 낼 수 있다.

GUI 프로그래밍이란 화면에 윈도우 창을 만들고 그 창에 프로그램을 동작시킬 수 있는 메뉴나 버튼 등을 추가하는 것을 말한다. 파이썬은 GUI 프로그래밍을 위한 도구들이 잘 맞추어져 있기 때문에 GUI 프로그램을 쉽게 만들 수 있다.

 

파이썬은 접착 언어라고도 부르는데, C나 C++로 만든 프로그램을 파이썬에서 사용할 수 있고 파이썬에서 만든 프로그램도 C나 C++에서 사용할 수 있다.

 

 

 

 

 

수치가 복잡하고 연산이 많다면 C와 같은 언어로 프로그래밍하는 것이 더 빠르다. 하지만 파이썬은 넘파이라는 수치 연산 모듈을 제공한다. 이 모듈은 C로 작성했기 때문에 파이썬에서도 수치 연산을 빠르게 수행할 수 있다.

파이썬은 데이터 분석에 이상적인 언어로, 넘파이. 판다스, 맷플로립 등과 같은 라이브러리들을 활용하여 데이터 처리, 통계 분석, 시각화를 손쉽게 수행할 수 있다.

 

파이썬을 활용하면 자연어 처리, 음성 인식, 이미지 인식과 같은 인공지능 기술을 구현할 수 있다. 머신러닝은 인공지능의 한 분야로 경험을 통해 자동으로 발전하는 컴퓨터 알고리즘을 연구하는 분야이다. 파이썬은 머신러닝 프로그래밍을 쉽게 할 수 있도록 사이킷런, 텐서블로, 파이토치, 케라스 등과 같은 다양한 라이브러리를 제공한다.


 

 

 

 

 

파이썬으로 리눅스 같은 운영체제 또는 엄청난 횟수의 반복과 연산이 필요한 프로그램을 만드는 것은 어렵다. 그리고 파이썬은 앱을 만들기에는 적합하지 않다. 


 

 

 

 

학습을 마치고

파이썬 첫 번째 학습을 여기서 마쳐본다. 파이썬이 무엇인지 어떤 특징이 있고 무엇을 할 수 있고 할 수 없는지 등에 대해서 알아보았다. 엘리스에서는 아주 간단하게 소개해서 이런 부분을 잘 알지 못했었다. 책으로 공부하니 어떤 공부든 깊이 있게 할 수 있다는 장점이 있다.

수업도 처음에 이 부분을 소개했을 것 같은데 한번 들어보고 정리해 봐야겠다. 기초적인 내용을 하나 더 학습한 후에 본격적으로 파이썬의 세계로 들어가 보려고 한다.