본문 바로가기

Python

01 파이썬이란 무엇인가?

01-1 파이썬이란?

파이썬Python은 1990년 암스테르담의 귀도 반 로섬Guido van rossum이 개발한 인터프리터 언어이다. 귀도는 파이썬이라는 이름을 자신이 좋아하는 코미디 쇼인 '몬티 파이썬의 날아다니는 서커스Monty python's flying circus'에서 따왔다고 한다.

인터프리터 언어란 소스 코드를 한 줄씩 해석한 후 그때그때 실행해 결과를 바로 확인할 수 있는 언어를 말한다.

 

파이썬의 사전적 의미는 '고대 신화에 나오는 파르나소스 산의 동굴에 살던 큰 뱀'을 뜻하며, 아폴로 신이 델파이에서 파이썬을 퇴치했다는 이야기가 전해지고 있다. 대부분의 파이썬 책표지와 아이콘이 뱀 모양으로 그려져 있는 이유는 바로 이 때문이다.

파이썬 공식 로고

 

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

 

또한 파이썬 프로그램은 공동 작업과 유지 보수가 매우 쉽고 편리하다. 이 때문에 이미 다른 언어로 작성된 많은 프로그램이 파이썬으로 재구성되고 있다. 국내에서도 그 가치를 인정받아 사용자 층이 더욱 넓어지고 있고 파이썬을 사용해 프로그램을 개발하는 업체 또한 늘어나고 있는 추세이다.

 

01-2 파이썬의 특징

파이썬은 인간다운 언어이다

프로그래밍이란 인간이 생각하는 것을 컴퓨터에 지시하는 행위를 말한다. 파이썬은 사람이 생각하는 방식을 그대로 표현할 수 있는 언어이다. 따라서 파이썬을 사용하는 프로그래머는 굳이 컴퓨터의 사고 체계에 맞추어 프로그래밍하려고 애쓸 필요가 없다. 이제 곧 어떤 프로그램을 구상하자마자 머릿속에서 생각한 대로 술술 써 내려가는 자신의 모습을 보고 놀라게 될 것이다.

 

다음 소스 코드를 보면 이 말이 쉽게 이해될 것이다.

if 4 in [1,2,3,4]: print("4가 있씁니다")

만약 4가 1,2,3,4 중에 있으면 "4가 있습니다"를 출력한다.

 

문법이 쉬워 빠르게 배울 수 있다

파이썬은 문법이 매우 쉽고 간결하며 사람의 사고 체계와 매우 닳아 있다. 유명한 프로그래머인 에릭 레이먼드Eric raymond는 파이썬을 공부한 지 단 하루 만에 자신이 원하는 프로그램을 작성할 수 있었다고 한다.

 

무료이지만 강력하다

파이썬은 오픈 소스open source이므로 무료이다. 사용료 걱정없이 언제 어디서든 파이썬을 내려받아 사용할 수 있다.

 

프로그래머는 만들고자 하는 프로그램의 대부분을 파이썬으로 만들 수 있고, 다른 언어로 만든 프로그램을 파이썬 프로그램에 포함시킬 수 있다.

 

'파이썬과 C는 찰떡궁합'

프로그램의 전박적인 뼈대는 파이썬으로 만들고 빠른 실행 속도가 필요한 부분은 C로 만들어서 파이썬 프로그램 안에 포함시킬 수 있기 때문

파이썬 라이브러리 : 파이썬 프로그램을 작성할 때 불러와 사용할 수 있도록 미리 만들어 놓은 파이썬 파일의 모음

 

간결하다

파이썬은 가장 좋은 방법 1가지만 사용하는 것을 선호한다. 그 덕분에 다른 사람이 작업한 소스 코드를 이해하기 쉽고 공동 작업과 유지 보수가 매우 편리하다

 

줄을 맞추는 '들여쓰기'를 꼭 해야하며 가독성에 많은 도움이 된다.

 

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

파이썬은 프로그래머가 다른 부수적인 개념이나 제한 사항 등에 신경 쓸 필요없이 만들고자 하는 기능에만 집중할 수 있게 해 준다.

 

개발 속도가 빠르다

"Life is too short, You need python." (인생은 너무 짧으니 파이썬이 필요해)

 

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

파이썬으로 할 수 있는 일

대부분의 프로그래밍 언어가 하는 일을 쉽고 깔끔하게 처리한다.

 

웹 프로그래밍

인공지능과 머신러닝

인공지능 : 기계가 인간처럼 생각하고 행동할 수 있는 능력을 제공하는 기술

머신러닝 : 인공지능의 한 분야로, 경험을 통해 자동으로 발전하는 컴퓨터 알고리즘을 연구하는 분야

 

수치 연산 프로그래밍

넘파이Numpy라는 수치 연산 모듈을 제공하는데 이는 C로 작성했기 때문에 수치 연산을 빠르게 수행할 수 있음

 

 

 

출처 : 점프 투 파이썬