파이썬 편집하기
최신판 | 당신의 편집 | ||
1번째 줄: | 1번째 줄: | ||
− | + | '''파이썬'''<!--파이선-->(Python)은 1990년 [[네덜란드]] [[암스텔담]]의 [[귀도 반 로썸]](Guido van Rossum)이 개발한 객체 지향 [[스크립트 언어|스크립트]] [[프로그래밍 언어]]이다. 별도의 [[컴파일]] 과정이 필요 없어 개발기간이 단축되고, [[리눅스]]나 [[윈도우]] 등 특정 [[플랫폼]]에 의존적이지 않고 독립적이다. 주로 [[장고]](Django) [[프레임워크]] 기반으로 개발한다. | |
− | [[ | ||
− | [[ | ||
− | + | == 개요 == | |
+ | [[파일:파이썬.png|썸네일|200픽셀|파이썬(Python)로고]] | ||
+ | 파이썬은 1991년에 귀도 반로썸(Guido van Rossum)이 발표한 대화형 프로그래밍 언어이다. 다양한 플랫폼에서 쓸 수 있고, 라이브러리(모듈)가 풍부하여, 대학을 비롯한 여러 교육 기관, 연구 기관 및 산업계에서 이용이 증가하고 있다. 실제 파이썬은 많은 상용 응용 프로그램에서 스크립트 언어로 채용되고 있다. 도움말 문서도 정리가 잘 되어 있으며, 유니코드 문자열을 지원해서 다양한 언어의 문자 처리에도 능하다. 파이썬은 대부분의 프로그래밍 언어가 하는 일을 쉽고 깔끔하게 처리한다. 파이썬은 시스템 유틸리티 제작, GUI 프로그래밍, C/C++와의 결합, 웹 프로그래밍, 수치 연산 프로그래밍, 데이터베이스 프로그래밍, 데이터 분석, 사물 인터넷 등 다양한 활용이 가능하다. 파이썬은 다른 언어에서 사용하는 문장 부호 대신 더 적은 수의 구문 구조를 가지고 있다. <ref>[https://blog.naver.com/slayra?Redirect=Log&logNo=221460389158 파이썬 개요 정리]〉</ref> | ||
+ | |||
+ | * 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언어]], [[자바]], [[자바스크립트]] 등 여러 가지가 있다. 하지만 그중에서 파이썬이 가장 널리 사용되고 있는 것으로 알려져 있다.<ref>D.O의〈[https://dany-it.tistory.com/16 파이썬(Python)의 역사와 특징에 대하여]〉</ref> |
== 역사 == | == 역사 == | ||
파이썬은 ABC, Modula-3, C, C++, Algol-68, SmallTalk, Unix shell과 다른 스크립트 언어를 포함하여 많은 다른 언어에서 파생되었다. | 파이썬은 ABC, Modula-3, C, C++, Algol-68, SmallTalk, Unix shell과 다른 스크립트 언어를 포함하여 많은 다른 언어에서 파생되었다. | ||
− | |||
=== 파이썬2 === | === 파이썬2 === | ||
− | 파이썬 2.0은 2000년 10월 16일 배포되었고, 많은 기능이 추가되었다. | + | 파이썬 2.0은 2000년 10월 16일 배포되었고, 많은 기능이 추가되었다. 그중 전면적인 쓰레기 수집기(GC, Garbage Collector)탑재와 유니코드 지원이 특징적이다. 그러나 가장 중요한 변화는 개발 절차 그 자체로, 더 투명하고 공동체 지원을 받는 형태가 되었다. |
=== 파이썬3 === | === 파이썬3 === | ||
− | + | 파이썬3000이라는 코드명을 지닌 파이썬의 3.0버전의 최종판이 긴 테스트를 거쳐 2008년 12월 3일자로 발표되었다. 2.x대 버전의 파이썬과 하위호환성이 없다는 것이 가장 큰 특징이다. 파이썬 3의 주요 기능 다수가 이전 버전과 호환되게 2.6과 2.7 버전에도 반영되기도 하였다. | |
− | + | 파이썬 공식 문서에서는 파이썬2를 낡은 기술이라 했다. 처음 배우는 프로그래머들은 파이썬 3으로 시작하는 것을 권장하고 있다. | |
− | + | 2.x대 버전 과의 차이를 간략히 요약하면 다음과 같다. | |
− | + | * 한글 변수 사용 가능. | |
− | * 한글 | + | * print 명령문이 print() 함수로 바뀌게 되었다. |
− | * print 명령문이 print() 함수로 | + | * 사전형과 문자열형과 같은 내장자료형의 내부적인 변화 및 일부 구형의 구성 요소 제거. |
− | * 사전형과 문자열형과 같은 | + | * 표준 라이브러리 재배치. |
− | * 표준 | + | * python 3. x 부터 모든 문자는 유니코드 처리한다. 유니코드 특성상 2바이트 혹은 4바이트를 차지하는데 2. x 는 기본 1바이트이기 때문에 속도 차이는 당연히 날 것이고 이 문제를 해결하기 위해 3.3 버전 이후부터 문자열 객체에서 가장 많은 바이트를 차지하는 문자를 기준으로 각 문자가 차지할 공간을 정하도록 변경되었다. |
− | * 모든 | ||
== 특징 == | == 특징 == | ||
− | |||
− | |||
− | |||
− | * | + | * 범용 프로그래밍 언어 : 파이썬은 간결하면서 효율적인 프로그램을 빠르게 작성할 수 있다. |
+ | * 인터프리터 언어 : 키워드가 적고 구조가 단순하며 구문이 명확하기 때문에 초보자에게 좋은 컴퓨터 언어 중 하나이다. | ||
+ | * 직관적 문법 : 다른 프로그래밍 언어와 비교했을 때 파이썬은 인간이 사용하는 언어와 유사하여 읽기 쉽다. | ||
+ | * 생산성이 매우 높다. | ||
+ | * 빠른 개발 속도 : 초보자들에게도 배우기 쉬운 언어인 만큼 개발 기간이 매우 단축된다. | ||
− | + | === 주요기능 === | |
− | + | # 파이썬은 상대적으로 몇 가지 키워드, 구조가 간단하고, 명확하게 정의된 구문이 있다. 이는 비교적 짧은 시간에 언어를 선택할 수 있다. | |
− | + | # 파이썬 코드는 훨씬 더 명확하게 정의되어 있고 눈에 잘 들어온다. | |
− | + | # 파이썬의 성공은 소스 코드가 상당히 유지 관리가 쉽다. | |
− | + | # 파이썬의 가장 큰 장점 중 하나는 [[UNIX]], [[Windows]] 및 [[Macintosh]]의 플랫폼 위에서 매우 휴대하기 쉽고 크로스 플랫폼 호환이 되는 라이브러리가 대부분 존재한다. | |
− | + | # 코드의 테스트와 디버깅 그리고 결과를 터미널에서 바로 확인할 수 있는 상호 작용을 하는 대화형 모드를 지원한다. | |
− | + | # 파이썬은 다양한 하드웨어 플랫폼에서 실행되며, 모든 플랫폼에서 동일한 인터페이스를 가지고 있다. | |
− | + | # 파이썬 인터프리터에 낮은 수준의 모듈을 추가할 수 있다. 이 모듈들은 자신의 도구에 추가하거나 수정해서 좀 더 효율적인 프로그래머가 되게 할 수 있다. | |
+ | # 파이썬은 모든 주요 상용 데이터베이스에 대한 인터페이스를 제공한다. | ||
+ | # 파이썬은 많은 시스템 호출, 라이브러리와 같은 [[윈도우 MFC]], [[매킨토시]] 및 [[유닉스]]의 X 윈도우 시스템과 윈도우 시스템을 만들어 이식할 수 GUI 응용 프로그램을 지원한다. | ||
+ | # 파이썬은 더 나은 구조와 셸 스크립트보다 큰 프로그램에 대한 지원을 제공한다.<ref name="파이썬이란?">https://wikidocs.net/833</ref> | ||
− | + | 추가적으로 기능 및 구조적 프로그래밍 방법뿐만 아니라 OOP를 지원한다. | |
− | + | 이는 스크립트 언어로 사용할 수 있고 또는 큰 응용 프로그램을 구축하기 위한 바이트 코드로 컴파일 할 수 있다. | |
− | + | 매우 높은 수준의 동적 데이터 유형과 동적 유형 검사를 지원한다. 자동 가비지 컬렉션(GC)을 지원한다. | |
− | + | 그것은 쉽게[[C]], [[C++]], [[COM]], [[ActiveX]], [[CORBA]] 및 [[Java]]와 통합될 수 있다. | |
− | |||
− | |||
− | |||
− | |||
− | |||
== 종류 == | == 종류 == | ||
===해석 프로그램의 종류=== | ===해석 프로그램의 종류=== | ||
− | + | ||
− | + | '''CPython''' : C로 작성된 인터프리터 | |
− | + | ||
− | + | '''스택리스 파이썬''' : C 스택을 사용하지 않는 인터프리터 | |
− | + | ||
+ | '''Jython''' : 자바가상머신용 인터프리터 | ||
+ | |||
+ | '''lronPython''' : .NET 플랫폼용 인터프리터 | ||
+ | |||
+ | '''PyPy''' : 파이썬으로 작성된 파이썬 인터프리터 | ||
== 활용 == | == 활용 == | ||
파이썬을 주로 사용하는 대표적인 프로젝트는 인스타그램, 유튜브, 레딧, 비트토렌트나 드롭박스 등이 있으며, 프레임워크인 장고와 플라스크가 있다. | 파이썬을 주로 사용하는 대표적인 프로젝트는 인스타그램, 유튜브, 레딧, 비트토렌트나 드롭박스 등이 있으며, 프레임워크인 장고와 플라스크가 있다. | ||
게임 쪽에선 월드 오브 탱크의 상당 부분이 파이썬으로 구현되어 있고, EVE 온라인이 Stack less Python을 기반으로 개발되었다. | 게임 쪽에선 월드 오브 탱크의 상당 부분이 파이썬으로 구현되어 있고, EVE 온라인이 Stack less Python을 기반으로 개발되었다. | ||
− | 프로그램 외적으로는 구글이 자체 언어인 [[Go]]로 넘어가기 전에 파이썬을 주력으로 사용하고 있었으며, 카카오가 파이썬 기반으로 유명하다.<ref | + | 프로그램 외적으로는 구글이 자체 언어인 [[Go]]로 넘어가기 전에 파이썬을 주력으로 사용하고 있었으며, 카카오가 파이썬 기반으로 유명하다.<ref name="파이썬이란?"></ref> |
+ | 파이썬 언어를 사용하여 만든 [[암호화폐]]에는 이더리움 등이 있다. | ||
− | + | * '''[[이더리움]]'''(Ethereum) : 이더리움은 [[블록체인]] 기술을 기반으로 [[스마트 계약]] 기능을 구현하기 위한 분산 컴퓨팅 플랫폼이다. [[스위스]]를 거점으로 하는 [[이더리움 재단]](Ethereum Foundation)에서 개발했다. | |
− | |||
− | |||
== 평가 == | == 평가 == | ||
− | 세계 최대 온라인 개발자 커뮤니티인 | + | 프로그래밍 언어 파이썬을 향한 개발자들의 관심이 뜨겁다. 세계 최대 온라인 개발자 커뮤니티인 스택오버플로에서 인기 언어별로 사용자 활동량을 집계한 결과, 파이썬이 지난 5년 간 가장 폭발적으로 관심이 증가한 언어로 나타났다. |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{{각주}} | {{각주}} | ||
86번째 줄: | 83번째 줄: | ||
*〈[https://ko.wikipedia.org/wiki/%ED%8C%8C%EC%9D%B4%EC%8D%AC 파이썬]〉 , 《위키백과》 | *〈[https://ko.wikipedia.org/wiki/%ED%8C%8C%EC%9D%B4%EC%8D%AC 파이썬]〉 , 《위키백과》 | ||
*〈[https://namu.wiki/w/Python 파이썬]〉 , 《나무위키》 | *〈[https://namu.wiki/w/Python 파이썬]〉 , 《나무위키》 | ||
− | + | * 슬레이라, 〈[https://blog.naver.com/slayra?Redirect=Log&logNo=221460389158 파이썬 개요 정리]〉 , 《네이버 블로그》, 2019.02.07 | |
− | * 슬레이라, 〈[https://blog.naver.com/slayra?Redirect=Log&logNo=221460389158 파이썬 개요 정리]〉 , 《네이버 블로그》, 2019 | + | * D.O, 〈[https://dany-it.tistory.com/16 파이썬(Python)의 역사와 특징에 대하여]〉 , 《티스토리》, 2017.07.23 |
− | * D.O, 〈[https://dany-it.tistory.com/16 파이썬(Python)의 역사와 특징에 대하여]〉 , 《티스토리》, 2017 | + | * WikiDocs 〈[https://wikidocs.net/833 파이썬이란?]〉 , 《wikidocs》, 2014.04.08 |
− | * WikiDocs | + | * 임유경 기자, 〈[http://www.zdnet.co.kr/view/?no=20170913005946 프로그래밍 언어 '파이썬' 인기 폭발…왜?]〉, 《지디넷》, 2017.09.14 |
− | * 임유경 기자, 〈[http://www.zdnet.co.kr/view/?no=20170913005946 프로그래밍 언어 '파이썬' 인기 폭발…왜?]〉, 《지디넷》, 2017 | + | * 돌이 〈[https://soul0.tistory.com/436 파이썬_Python에 대한 개념 및 이해하기]〉 , 《티스토리》, 2017.06.27 |
− | * 돌이 | ||
== 같이 보기 == | == 같이 보기 == | ||
98번째 줄: | 94번째 줄: | ||
* [[장고]] | * [[장고]] | ||
+ | {{로고 필요}} | ||
{{프로그래밍 언어|검토 필요}} | {{프로그래밍 언어|검토 필요}} |