[Python] Python 소개와 설치 방법
(글쓴날 : 2020.02.14)
* 이 글은 글쓴이가 공부한 내용을 정리하며 올리는 글입니다.
1. Python 소개
1) Python이란?
Python은 네덜란드의 개발자 귀도 반 로섬(Guido van Rossum)이라는 분이 개발하여 1991년 세상에 공개된 언어입니다.
Over six years ago, in December 1989, I was looking for a "hobby" programming project that would keep me occupied during the week around Christmas. My office (a government-run research lab in Amsterdam) would be closed, but I had a home computer, and not much else on my hands. I decided to write an interpreter for the new scripting language I had been thinking about lately: a descendant of ABC that would appeal to Unix/C hackers. I chose Python as a working title for the project, being in a slightly irreverent mood (and a big fan of Monty Python's Flying Circus).
- 출처 : 파이썬 서문 발췌
대충 1989년 크리스마스 언저리에 일하던 연구소가 휴일이라 문을 닫아 심심해서 만들었다는 뜻.....
이름도 자신이 좋아하던 영국의 코미디 그룹인 몬티 파이썬에서 따왔다고 합니다. (그리스 신화의 그 뱀 때문이 아니었네???)
현재 귀도 반 로섬님(?)은 은퇴하시고 개인 프로젝트를 하고 계시다고 합니다.
(아래의 홈페이지로 가시면 친절하게 써 놓으신 이력서를 보실 수 있습니다.)
* 귀도 반 로섬 개인 홈페이지 : 귀도 반 로섬 개인 홈페이지
이렇게 만들어진 파이썬은 현재 전 세계적으로 엄청난 인기를 누리고 있으며, 이제는 프로그래밍 언어의 대표주자 중 하나로 자리 잡게 되었습니다.
* 글 쓴 날 기준으로 TIOBE 지수에서 당당히 3위를 하고 있습니다. (Java는 언제쯤 1위에서 내려오려나..)
특히 파이썬은 매우 쉽고(?) 범용성이 넓어서 GUI 프로그래밍, 웹 프로그래밍, 데이터 분석, 머신 러닝, 수치 연산 및 암호학 등등 여러 방면에서 활약하고 있는 만능 언어이며, Back-End 분야의 대세 프레임워크 중 하나인 Django가 바로 파이썬 기반의 프레임워크입니다.
* Python2와 Python3의 차이
2008년 말에 Python3가 업데이트되며 기존의 Python2를 지지하는 진영과 Python3를 지지하는 진영 사이의 양극화가 시작되었습니다. Python3측에서는 끊임없이 제기되어왔던 Python 언어 자체의 문제들을 해결하기 위해 기존 Python2와 호환성을 포기하더라도 Python3를 사용해야 한다고 주장했고, Python2측에서는 기존에 만들어진 Python2 기반의 프로그램들을 대체하기 힘들 것이라고 주장했습니다.
결국, 기나긴 싸움 끝에 2020년 1월 1일부로 Python2의 공식 지원이 종료되어, 현재는 Python3를 사용하는 것으로 사실상 종결되었습니다.
따라서, 앞으로 Python 공부를 하실 분들은 Python3를 하시면 되겠습니다. :)
2) Python의 특징
먼저, 특징을 정리하기 전에 Python이 설치되신 분들은 IDLE를 여시고 import this를 적어봅시다.
그러면 이스터에그가 발생합니다.
위의 이스터에그는 파이썬의 철학을 명시한 것으로, 그 내용을 조금 살펴보면
아름다운 게 못생긴 것보다 좋다.
명시적인 게 묵시적인 것보다 좋다.
간단한 게 복잡한 것보다 좋다.
복잡한 게 어려운 것보다 좋다.
단층이 계층보다 좋다.
등등...
의 내용입니다.
위의 철학에 따라 파이썬의 대표적인 특징들은 다음과 같습니다.
(1) 인터프리터 언어
기존의 컴파일 언어와 달리 Python은 인터프리터 언어로 프로그래밍한 코드를 기계어로 컴파일하지 않고 한 줄 한 줄 해석하며 실행하게 됩니다. 비록 런타임에서는 컴파일 언어에 비해 느릴지라도 빌드를 하지 않고 바로 프로그램을 실행할 수 있다는 엄청난 장점이 있습니다.
(2) 간결하고 상대적으로 쉬운 문법
물론 사람마다 쉽다는 정도의 차이가 있을수는 있겠지만, 여타 다른 프로그래밍 언어들에 비해 확실히 간단하고 명료하게 문법 구성이 되어있어 쉽다고 느껴지실 겁니다. 실제로 대학교 컴퓨터 공학과 혹은 소프트웨어학과 학부 1학년 수업에서 첫 프로그래밍 언어 입문을 주로 C 언어로 해왔었는데 요새들어 Python도 이수과목으로 생기고 있는 추세입니다.
(3) 동적 타입 언어
Python은 100% 동적 타입 언어로 데이터 타입에 관계없이 타입 지정을 하여 좀 더 사람에게 직관적인 코드 경험을 제공합니다. 물론 에러의 위험성이 동시에 수반되므로 호불호가 갈릴 수 있겠지만 개발 속도 측면에서는 비교가 안될 정도로 차이가 발생하게 됩니다.
(4) 가비지 컬렉션
현대 언어라면 필수인 가비지 컬렉션(Garbage Collection)을 제공하므로 개발자의 메모리 해제 관련 부담을 덜어주어 생산성 향상에 도움이 됩니다.
(5) 관련 라이브러및 모듈 다수 존재
Python은 세계에서 대표 언어로 자리 잡은 만큼 개발자 생태계가 활성화되어 있어, 관련 라이브러리 및 모듈이 다수 존재합니다. 이는 언어를 선택할 때 제일 중요하게 고려해야 할 요소 중 하나로, 개발을 하다 특정 기능을 하는 코드를 작성해야 할 때 Python의 패키지 매니저인 pip을 이용해서 이미 다른 개발자들이 만들어 놓은 모듈이나 원하는 기능의 서드파티 패키지를 자유자재로 설치할 수 있습니다.
2. Python 설치
Python의 설치는 매우 쉽습니다!
* Python 공식 다운로드 페이지 : Python 공식 다운로드 페이지
위의 공식 다운로드 페이지로 들어가셔서 다운로드 버튼을 누르시면 각 OS별로 설치파일이 다운됩니다.
사실, 충격적이게도 Linux와 macOS에는 이미 Python이 설치되어 있습니다.
다만, macOS와 낮은 버전의 Linux에는 Python2가 설치되어있으므로 Python3로 업그레이드 하시고 싶으시면 추가로 설치해주시면 되겠습니다.
(Windows는 무조건 설치하셔야합니다. ^^)
* Windows의 경우 설치하실 때 환경변수 설정 꼭 체크해주세요!
여기까지 Python의 소개와 설치 방법이었습니다.
개발자의 길을 걷게 된다면 여러 가지 이유들로 인해서 언젠가, Python이라는 언어는 한 번쯤 마주치게 될 날이 올 것 같습니다. 따라서 그날을 대비해 미리 Python을 공부해 두시는 것도 나쁘지 않을 것 같습니다. (저는 알고리즘 문제를 풀 때 사용하려고 Python 공부를 시작했습니다!!)
Python에 대해 더 자세하게 알고 싶으신 분들은...
* Python 공식 홈페이지 : Python 공식 홈페이지
위의 Python 공식 홈페이지를 참조하시면 되겠습니다.
감사합니다!
'Deprecated' 카테고리의 다른 글
[Go] Go 언어 예제와 기본 문법 정리 3탄(조건문 if, switch) (2) | 2020.02.17 |
---|---|
[Go] Go 언어 예제와 기본 문법 정리 2탄(변수 var, 상수 const) (0) | 2020.02.16 |
[Go] Go 언어 예제와 기본 문법 정리 1탄(패키지, 임포트와 익스포트, 세미콜론, 주석) (0) | 2020.02.13 |
[Go] Go 언어 소개와 설치 및 컴파일 방법 (4) | 2020.02.12 |
[Node.js] PM2 소개와 설치 및 사용법 (0) | 2020.02.11 |