검수요청.png검수요청.png

파이썬

위키원
dbwls1021 (토론 | 기여)님의 2019년 6월 25일 (화) 15:02 판 (개요)
이동: 둘러보기, 검색

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

개요

파이썬(Python)로고

파이썬은 1991년에 귀도 반로썸(Guido van Rossum)이 발표한 대화형 프로그래밍 언어이다. 다양한 플랫폼에서 쓸 수 있고, 라이브러리(모듈)가 풍부하여, 대학을 비롯한 여러 교육 기관, 연구 기관 및 산업계에서 이용이 증가하고 있다. 실제 파이썬은 많은 상용 응용 프로그램에서 스크립트 언어로 채용되고 있다. 도움말 문서도 정리가 잘 되어 있으며, 유니코드 문자열을 지원해서 다양한 언어의 문자 처리에도 능하다. 파이썬은 대부분의 프로그래밍 언어가 하는 일을 쉽고 깔끔하게 처리한다. 파이썬은 시스템 유틸리티 제작, GUI 프로그래밍, C/C++와의 결합, 웹 프로그래밍, 수치 연산 프로그래밍, 데이터베이스 프로그래밍, 데이터 분석, 사물 인터넷등 다양한 활용이 가능하다. 파이썬은 다른 언어에서 사용하는 문장 부호 대신 더 적은 수의 구문 구조를 가지고 있다.[1]

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

배경

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

역사

파이썬은 ABC, Modula-3, C, C++, Algol-68, SmallTalk, Unix shell과 다른 스크립트 언어를 포함하여 많은 다른 언어에서 파생되었다.

파이썬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 버전 이후부터 문자열 객체에서 가장 많은 바이트를 차지하는 문자를 기준으로 각 문자가 차지할 공간을 정하도록 변경되었다.

특징

  1. 범용 프로그래밍 언어 : 파이썬은 간결하면서 효율적인 프로그램을 빠르게 작성할 수 있다.
  2. 인터프리터 언어 : 키워드가 적고 구조가 단순하며 구문이 명확하기 때문에 초보자에게 좋은 컴퓨터 언어 중 하나이다.
  3. 직관적 문법 : 다른 프로그래밍 언어와 비교했을 때 파이썬은 인간이 사용하는 언어와 유사하여 읽기 쉽다.
  4. 생산성이 매우 높다.
  5. 빠른 개발 속도 : 초보자들에게도 배우기 쉬운 언어인 만큼 개발 기간이 매우 단축된다.

주요기능

  • 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: 파이썬은 더 나은 구조와 셸 스크립트보다 큰 프로그램에 대한 지원을 제공한다.[3]

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

종류

해석 프로그램의 종류

CPython : C로 작성된 인터프리터

스택리스 파이썬 : C 스택을 사용하지 않는 인터프리터

Jython : 자바가상머신용 인터프리터

lronPython : .NET 플랫폼용 인터프리터

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

활용

파이썬 언어를 사용하여 만든 암호화폐에는 이더리움 등이 있다.

평가

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

각주

참고자료

같이 보기


  검수요청.png검수요청.png 이 파이썬 문서는 프로그래밍에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.