파이썬

위키원
dbwls1021 (토론 | 기여)님의 2019년 6월 24일 (월) 17:57 판 (참고자료)
이동: 둘러보기, 검색

파이썬(Python)은 1990년 네덜란드 암스텔담귀도 반 로썸(Guido van Rossum)이 개발한 객체 지향 스크립트 프로그래밍 언어이다. 별도의 컴파일 과정이 필요 없어 개발기간이 단축되고, 리눅스윈도우 등 특정 플랫폼에 의존적이지 않고 독립적이다. 주로 장고(Django) 프레임워크 기반으로 개발한다.

개요

파이썬은 1991년에 귀도 반로썸(Guido van Rossum)이 발표한 인터프리터 방식의 언어이다. 다양한 플랫폼에서 쓸 수 있고, 라이브러리(모듈)가 풍부하여, 대학을 비롯한 여러 교육 기관, 연구 기관 및 산업계에서 이용이 증가하고 있다. 실제 파이썬은 많은 상용 응용 프로그램에서 스크립트 언어로 채용되고 있다. 도움말 문서도 정리가 잘 되어 있으며, 유니코드 문자열을 지원해서 다양한 언어의 문자 처리에도 능하다. 파이썬은 기본적으로 해석기(인터프리터) 위에서 실행될 것을 염두에 두고 설계되었다. 파이썬을 주로 사용하는 대표적인 프로젝트는 인스타그램, 유튜브, 레딧, 비트토렌트나 드롭박스 등이 있으며, 프레임워크인 장고와 플라스크가 있다. 게임 쪽에선 월드 오브 탱크의 상당 부분이 파이썬으로 구현되어 있고, EVE 온라인이 Stack less Python을 기반으로 개발되었다. 프로그램 외적으로는 구글이 자체 언어인 Go로 넘어가기 전에 파이썬을 주력으로 사용하고 있었으며, 카카오가 파이썬 기반으로 유명하다. 파이썬은 다른 언어에서 사용하는 문장 부호 대신 더 적은 수의 구문 구조를 가지고 있다.

  • Python is Interpreted: 이것은 인터프리터에 의해 실행 시에 처리되고 실행하기 전에 프로그램을 컴파일할 필요가 없다. 이는 PERL과 PHP와 유사하다.
  • Python is Interactive: 이것은 실제로 직접 프로그램을 작성하는 파이썬 프롬프트를 통해 인터프리터와 상호 작용을 할 수 있다.
  • Python is Object-Oriented: 이것은 객체지향 스타일 또는 개체 내에서 코드를 캡슐화하는 프로그래밍 기술을 지원한다.
  • Python is Beginner's Language: 파이썬은 초보 프로그래머를 위한 훌륭한 언어이며 게임, 웹, 간단한 텍스트 처리에서 다양한 애플리케이션의 개발까지 지원한다.

배경

파이썬은 1991년, 네덜란드 수학자 귀도 반로썸(Guido van Rossum)에 의해 개발되었다. 원래 파이썬이라는 이름은 그리스 신화에 나오는 뱀을 뜻한다. 귀도 반로썸(Guido van Rossum)이 파이썬이라는 이름을 붙인 것은 신화에 나오는 뱀 때문이 아니고, 자신이 좋아하는 코미디 프로그램" Monty Python's Flying Circus(몬티 파이썬의 날아다니는 서커스)"에서 따온 것이다. 프로그래밍 언어 중에서도 무척 오래된 포트란(Fortran)이 1954년에, 지금도 폭넓게 사용하는 C언어가 1972년에 공개됐다는 것을 생각하면 1991년에 나온 파이썬은 비교적 최신 언어라고 할 수 있다. 프로그래밍 언어에는 파이썬 뿐만 아니라 C, 자바, 자바스크립트 등 여러 가지가 있다. 하지만 그중에서 파이썬이 가장 널리 사용되고 있는 것으로 알려져 있다.

역사

파이썬2

파이썬 2.0은 2000년 10월 16일 배포되었고, 많은 기능이 추가되었다. 그중 전면적인 쓰레기 수집기(GC, Garbage Collector)탑재와 유니코드 지원이 특징적이다. 그러나 가장 중요한 변화는 개발 절차 그 자체로, 더 투명하고 공동체 지원을 받는 형태가 되었다.

파이썬3

파이썬3000이라는 코드명을 지닌 파이썬의 3.0버전의 최종판이 긴 테스트를 거쳐 2008년 12월 3일자로 발표되었다. 2.x대 버전의 파이썬과 하위호환성이 없다는 것이 가장 큰 특징이다. 파이썬 3의 주요 기능 다수가 이전 버전과 호환되게 2.6과 2.7 버전에도 반영되기도 하였다. 파이썬 공식 문서에서는 파이썬2를 낡은 기술이라 했다. 처음 배우는 프로그래머들은 파이썬 3으로 시작하는 것을 권장하고 있다. 2.x대 버전 과의 차이를 간략히 요약하면 다음과 같다.

  • 한글 변수 사용 가능.
  • print 명령문이 print() 함수로 바뀌게 되었다.
  • 사전형과 문자열형과 같은 내장자료형의 내부적인 변화 및 일부 구형의 구성 요소 제거.
  • 표준 라이브러리 재배치.
  • python 3. x 부터 모든 문자는 유니코드 처리한다. 유니코드 특성상 2바이트 혹은 4바이트를 차지하는데 2. x 는 기본 1바이트이기 때문에 속도 차이는 당연히 날 것이고 이 문제를 해결하기 위해 3.3 버전 이후부터 문자열 객체에서 가장 많은 바이트를 차지하는 문자를 기준으로 각 문자가 차지할 공간을 정하도록 변경되었다.

특징

파이썬의 주요기능은 다음을 포함한다.

  • Easy-to-learn: 파이썬은 상대적으로 몇 가지 키워드, 구조가 간단하고, 명확하게 정의된 구문이 있다. 이는 비교적 짧은 시간에 언어를 선택할 수 있다.
  • Easy-to-read: 파이썬 코드는 훨씬 더 명확하게 정의되어 있고 눈에 잘 들어온다.
  • Easy-to-maintain: 파이썬의 성공은 소스 코드가 상당히 유지 관리가 쉽다는 데 있다.
  • A broad standard library: 파이썬의 가장 큰 장점 중 하나는 UNIX, WindowsMacintosh의 플랫폼 위에서 매우 휴대하기 쉽고 크로스 플랫폼 호환이 되는 라이브러리가 대부분 존재한다.
  • Interactive Mode: 코드의 테스트와 디버깅 그리고 결과를 터미널에서 바로 확인할 수 있는 상호 작용을 하는 대화형 모드를 지원한다.
  • Portable: 파이썬은 다양한 하드웨어 플랫폼에서 실행되며, 모든 플랫폼에서 동일한 인터페이스를 가지고 있다.
  • Extendable: 파이썬 인터프리터에 낮은 수준의 모듈을 추가할 수 있다. 이 모듈들은 자신의 도구에 추가하거나 수정해서 좀 더 효율적인 프로그래머가 되게 할 수 있다.
  • Databases: 파이썬은 모든 주요 상용 데이터베이스에 대한 인터페이스를 제공한다.
  • GUI Programming: 파이썬은 많은 시스템 호출, 라이브러리와 같은 윈도우 MFC, 매킨토시유닉스의 X 윈도우 시스템과 윈도우 시스템을 만들어 이식할 수 GUI 응용 프로그램을 지원한다.
  • Scalable: 파이썬은 더 나은 구조와 셸 스크립트보다 큰 프로그램에 대한 지원을 제공한다.

위의 언급한 기능 외에도 다음의 좋은 기능이 있다. 기능 및 구조적 프로그래밍 방법뿐만 아니라 OOP를 지원한다. 이는 스크립트 언어로 사용할 수 있고 또는 큰 응용 프로그램을 구축하기 위한 바이트 코드로 컴파일 할 수 있다. 매우 높은 수준의 동적 데이터 유형과 동적 유형 검사를 지원한다. 자동 가비지 컬렉션(GC)을 지원한다. 그것은 쉽게C, C++, COM, ActiveX, CORBAJava와 통합될 수 있다.

종류

해석 프로그램의 종류

CPython

C로 작성된 인터프리터

스택리스 파이썬

C 스택을 사용하지 않는 인터프리터

Jython

자바 가상 머신 용 인터프리터. 과거에는 제이파이썬(JPython)이라고 불렸다.

lronPython

.NET 플랫폼용 인터프리터

PyPy

파이썬으로 작성된 파이썬 인터프리터

활용

평가

프로그래밍 언어 파이썬을 향한 개발자들의 관심이 뜨겁다.세계 최대 온라인 개발자 커뮤니티인 스택오버플로에서 인기 언어별로 사용자 활동량을 집계한 결과, 파이썬이 지난 5년 간 가장 폭발적으로 관심이 증가한 언어로 나타났다.

각주

참고자료

같이 보기

틀:프로그래밍 종류틀:파이썬