파이썬(Python)은 1991년 네덜란드계 소프트웨어 엔지니어인 귀도 반 로섬이 발표한 고급 프로그래밍 언어로, '인터프리터를 사용하는 객체지향 언어'이자 플랫폼에 독립적인, 동적 타이핑(dynamically typed) 대화형 언어이다.
파이썬이라는 이름은 귀도가 좋아하는 코미디인〈Monty Python's Flying Circus〉에서 따온 것이다. 이름에서 고대신화에 나오는 커다란 뱀을 연상하는 경우도 있겠지만 이와는 무관하다. 다만 로고에는 뱀 두마리가 형상화되어 있다.
간결하고 읽기 쉬운 문법이 특징인 프로그래밍 언어로 데이터 분석, 웹 개발, 인공지능 등 다양한 분야에서 활용되고 있으며 초보자부터 전문가까지 사용자층을 보유하고 있다. 동적 타이핑(dynamic typing) 범용 프로그래밍 언어로 다양한 플랫폼에서 쓸 수 있고, 라이브러리(모듈)가 풍부하여, 대학을 비롯한 여러 교육 기관, 연구 기관 및 산업계에서 이용이 증가하고 있다. 또 파이썬은 순수한 프로그램 언어로서의 기능 외에도 다른 언어로 쓰인 모듈들을 연결하는 접착제 언어로써 자주 이용된다. 실제 파이썬은 많은 상용 응용 프로그램에서 스크립트 언어로 채용되고 있다. 도움말 문서도 정리가 잘 되어 있으며, 유니코드 문자열을 지원해서 다양한 언어의 문자 처리에도 능하다.
파이썬은 기본적으로 해석기(인터프리터) 위에서 실행될 것을 염두에 두고 설계되었다.
- 컴파일러 : 우리가 작성한 코드를 컴퓨터가 이해할 수 있는 기계어로 바꿈
소스파일 ---(컴파일)---> 기계어 ---(기계(PC)에서 실행)---> 출력
컴파일 언어는 소스 전체를 실행 파일로 만든 후 기계에서 실행
번역과 같음 ex) c/c++, java
- 인터프린터:컴파일러와 달리 실행 파일을 만들지 않고 실행이 필요할 때 기계어로 변환 함
소스파일 ------------(기계(PC)에서 실행)-----------------> 출력
인터프린터 언어는 필요한 소스 코드만 그때 그때 실행
동시 통역과 같음 ex) python
• 동적 타이핑(dynamic typing). (실행 시간에 자료형을 검사한다.)
• 객체의 멤버에 무제한으로 접근할 수 있다. (속성이나 전용의 메서드 훅을 만들어 제한할 수는 있음.)
• 모듈, 클래스, 객체와 같은 언어의 요소가 내부에서 접근할 수 있고, 리플렉션을 이용한 기술을 쓸 수 있다.
• 무한 정수를 처리할 수 있다.
• 문법 구조가 쉽다.
• 라이브러리(모듈)가 풍부하다.
• Cython: C로 작성된 인터프리터.
• 스택리스 파이썬: C 스택을 사용하지 않는 인터프리터.
• 자이썬: 자바 가상 머신용 인터프리터. 과거에는 제이파이썬(JPython)이라고 불렸다.
• IronPython: .NET 플랫폼용 인터프리터.
• PyPy: 파이썬으로 작성된 파이썬 인터프리터.



