반응형
파이썬
파이썬은 1990년 네덜란드 국적 프로그래머 '귀도 반 로섬(Guido van Rossum)'이 발표한 인터프리터 언어이다.
귀도 반 로섬 홈페이지
Guido's Personal Home Page
Guido van Rossum - Personal Home Page "Gawky and proud of it." Read my "King's Day Speech" for some inspiration. I am the author of the Python programming language. See also my resume and my publications list, a brief bio, assorted writings, presentations
gvanrossum.github.io
파이썬의 특징
주요 특징
- 대화식 인터프리터 방식의 코드 변환을 한다.
- 모듈 단위로 파일이 저장된다.
- 객체 내의 멤버에 접근 제한이 없어 접근성이 좋다.
- 소스 코드가 실행될 때 자료형을 검사하는 동적 타이핑을 수행한다.
- high-level의 참조 자료형(list, tuple, set, dict)을 제공한다.
- Garbage Collection이 제공되므로 개발자가 별도의 메모리 관리를 수행할 필요가 없다.
- 다른 언어와의 결합도가 높은 우수한 확장성이 있다.
쉬운 문법
- 파이썬은 문법 자체가 간결하여 인간의 사고방식과 매우 유사한다.
- 배우기가 쉽고, 활용하기에 좋도록 간단하고 쉬운 문법을 제공한다.
무료 프로그램
- 오픈 소스인 파이썬은 무료 프로그램이다.
- 시스템 프로그래밍이나 하드웨어 제어와 같은 파이썬으로 구현이 힘든 것도 외부 프로그램을 만들어서 파이썬에 포함할 수 있다.
- 일반적으로 C프로그램으로 만든 것이 주를 이룬다.
간결성
- 귀도 반 로섬은 파이썬 프로그램을 간결하게 만들었다.
- 유지 보수가 쉽다.
- 파이썬은 들여 쓰기 등 줄을 맞추는 작업을 제대로 하지 않으면 프로그램이 실행되지 않는다.
- 줄을 맞추면 가독성에 큰 도움이 된다.
개발 속도의 신속성
- 운영 체제의 종류에 상관없이 모든 운영체제에 독립적이다.
- 모듈 단위로 코드를 쉽게 작성하고 결합할 수 있어 분업화에 좋다.
- 수많은 라이브러리가 오픈 소스로 제공된다.
파이썬의 종류
C 파이썬: C로 작성된 인터프리터로 일반적인 파이썬을 말한다.
스택리스 파이썬: C 스택을 사용하지 않는 인터프리터이다.
자이썬: 자바 가상 머신 용 인터프리터이다. 과거에는 제이-파이썬(JPython)이라고도 했다.
IronPython: 단넷(. NET) 플랫폼 용 인터프리터이다.
PyPy: 파이썬으로 작성된 파이썬 인터프리터이다.
파이썬의 사용처
파이썬으로 할 수 있는 것
- 시스템 유틸리티 제작
- GUI 프로그래밍: Tkinter, wxPython, pyQt 등의 프로그램이 존재한다. Tkinter는 기본으로 내장되어 있는 모듈이다.
- C/C++과의 결합: C/C++ 등에서 만든 프로그램을 파이썬에서 사용할 수 있다.
- 웹 프로그래밍: 플라스크(Flask)나 장고(Django) 파이썬 웹 프레임 워크를 사용하여 웹 프로그램을 구현할 수 있다.
- 수치 연산 프로그래밍: Numpy라는 수치 연산 모듈(Numeric Python 모듈)을 제공한다. 이 모듈 역시 C 언어로 작성되어 빠른 수치 연산을 수행한다.
- 데이터베이스 프로그래밍: sqlite, Oracle, Mysql, MariaDb, Sybase, Infomix 등의 RDBMS에 접근 도구를 제공한다. sqlite는 기본으로 내장되어 있다.
- 데이터 분석, 사물 인터넷: Pandas 모듈을 사용하면 데이터 분석을 보다 더 효과적으로 처리할 수 있다. 파이썬은 라즈베리파이에서 사용하고 있는 프로그래밍 언어인 만큼 사물인터넷에서도 인기 있다.
'언어 > 파이썬' 카테고리의 다른 글
[파이썬] 파이썬의 특징 (5) | 2024.09.12 |
---|---|
[파이썬] 노년에게 파이썬이란? (6) | 2024.09.10 |
판다스 패키지 (4) | 2024.04.26 |
통합개발도구, 파이참 (0) | 2022.03.30 |
파이썬을 위한 환경 변수 설정하기 (2) | 2022.03.30 |