파이썬
IT 위키
(Python에서 넘어옴)
파이썬(영어: Python)은 범용 고수준 프로그래밍 언어로, 가독성과 생산성을 강조하며 설계되었다.
파이썬은 인터프리터 방식으로 실행되며, 동적 타이핑 및 자동 메모리 관리 기능을 제공한다. 여러 프로그래밍 패러다임(절차적, 객체지향, 함수형 등)을 지원하며, 방대한 표준 라이브러리와 생태계를 갖춘 언어이다.
파이썬은 1980년대 말 네덜란드의 개발자 귀도 반 로섬(Guido van Rossum)에 의해 개발되기 시작했으며, 1991년에 첫 버전이 공개되었다. 파이썬 2.x 버전은 2000년부터 사용되었으며, 2008년에는 보다 현대적인 기능과 개선된 일관성을 반영한 파이썬 3.x 버전이 출시되었다. 파이썬 2는 2020년을 마지막으로 공식 지원이 종료되었고, 현재는 파이썬 3가 주류이다.
- 문법의 간결성과 가독성
- 들여쓰기를 문법의 일부로 사용하여 코드 구조를 명확히 표현함
- 동적 타이핑과 자동 메모리 관리
- 변수 선언 시 타입 명시 불필요, 가비지 컬렉션을 통해 메모리 관리
- 멀티 패러다임 지원
- 절차적, 객체지향, 함수형 프로그래밍 방식 모두 지원
- 방대한 표준 라이브러리
- 다양한 내장 모듈을 통해 파일 처리, 네트워크, 스레드 등 폭넓은 기능 제공
- 확장성과 이식성
- 다양한 플랫폼에서 실행 가능하며, C/C++와의 연동도 용이함
- 다양한 구현체
- CPython 외에도 PyPy, Jython, IronPython 등이 존재함
- 생산성 및 개발 속도
- 간결한 문법과 풍부한 라이브러리 덕분에 빠르게 개발 가능
- 학습 곡선이 완만함
- 초보자도 쉽게 접근할 수 있음
- 커뮤니티와 생태계
- 활발한 오픈소스 커뮤니티와 수많은 외부 패키지 존재
- 다양한 분야에 적용 가능
- 웹, 데이터 과학, 자동화, 네트워크, 인공지능 등 폭넓은 활용 가능
- 실행 속도 제한
- 인터프리터 언어 특성상 컴파일 언어보다 느릴 수 있음
- 글로벌 인터프리터 락(GIL)
- 멀티스레드 병렬 처리에 제약이 있음 (CPython 기준)
- 패키지 관리 복잡성
- 종속성 충돌 등의 문제 발생 가능
- 모바일 및 임베디드 분야의 한계
- 성능 및 경량화 요구가 높은 환경에선 적용이 어려움
- 웹 개발
- Django, Flask 등의 프레임워크를 통해 웹 애플리케이션 개발
- 데이터 과학 및 머신러닝
- NumPy, pandas, scikit-learn, TensorFlow 등과 함께 분석 및 모델링 수행
- 자동화 및 스크립팅
- 파일 처리, 시스템 관리, 크롤링 등 반복 작업 자동화
- 과학 계산 및 시각화
- SciPy, Matplotlib, seaborn 등과 함께 데이터 시각화 및 수치 해석 수행
- 교육 및 연구
- 알고리즘 학습, 프로토타입 제작, 오픈소스 프로젝트 참여에 유용
- CPython
- 가장 일반적인 구현체이며, C 언어로 작성됨
- PyPy
- JIT(Just-In-Time) 컴파일을 통해 성능을 향상시킨 구현체
- Jython
- Java 가상 머신(JVM) 위에서 동작하는 파이썬 구현
- IronPython
- .NET 플랫폼에서 실행 가능한 파이썬 구현
- MicroPython
- 임베디드 시스템을 위한 경량화 파이썬 구현
