포스팅 이전 이 글은 wikidocs의 점프 투 파이썬 & 위키백과에 파이썬 문서를 참고해서 작성했습니다.
1.파이썬의 탄생
파이썬은 1991년 네덜란드계 소프트웨어 엔지니어 개발자인 Guido van Rossum(귀도 반 로섬)이라는
개발자가 처음 발표한 고급 프로그래밍 언어로
다른 플랫폼과는 완전히 독립적이면서 Interpreter(인터프리터)식
Object-OrientedPrograming(객체 지향적), Dynamincally typed(동적 타이핑)
대화형 언어입니다.
Python이라는 이름은 귀도가 좋아하는 코미디인 <Monty Python's Flying Circus>의
"Python"을 따온 이름의 언어입니다.
이름에서 Python(피톤)이라는 단어인 고대신화에 나오는 큰 뱀을
연상하는 경우도 있지만 이와는 무관합니다.
다만 로고에서 보이는 뱀 두마리를 형상화한 것을 볼 수 있습니다.
파이썬은 비영리의 Python Software Foundation(파이썬 소프트웨어 재단)이
관리하는 개방형 & 공동체 기반 개발 모델을 가지고 있습니다.
파이썬은 컴퓨터 프로그래밍 교육을 위해 사용하지만
기업의 실무를 위해도 많이 사용되는 언어입니다.
그 대표적인 예로 말하면 세계에서 가장 유명한 4대 기업중 하나인
Google(구글)입니다.
구글은 Python으로 만든 소프트웨어가 50%나 된다고 들었습니다.
이외에도 많이 알려진 사이트를 보면
Instagram(인스타 그램), 드롭박스(Dropbox)등 파이썬 기반으로
돌아가는 사이트들이 많이 존재합니다.
2.파이썬은 어떤 언어인가
파이썬은 초보자부터 전문가 수준의 프로그래머까지 사용자층을 보유하고 있는 언어로
동적 타이핑(dynamic typing)범용 프로그래밍 언어로,
펄(perl), 루비(Ruby) 언어들과도 자주 비교되는 언어입니다.
다양한 플랫폼에서 사용될 수 있으며
라이브러리(모듈)이 풍부하고, 대학은 비롯한 여러 교육 기관
연구 기관에서 다른 언어로 쓰인 모듈들을 연결해주는
scripting language(스크립트 언어)로써 자주 사용되고 있습니다.
실제로 파이썬은 만은 상용 응용 프로그램에서 script langauge(스크립트 언어)
로 채용되고 있고, 도움말 문서도 잘 정리되어 있으며
Unicode(유니코드) 문자열을 지원해 다양한 언어의 문자처리도 가능합니다.
3. 파이썬의 특징
파이썬은 기본적으로 해석기(Interpreter) 위에서 실행될 것을 염두에 두고 설계 되었습니다.
파이썬의 주요 특징을 말씀드리자면
- 주요 특징
- 동적 타이핑(dynamic typing). (실행 시간에 자료형을 검사한다)
- 객체의 맴버에 무제한으로 접근이 가능하다(속성이나 전용 메서드 훅을
직접 만들어 제어할 수 있다) - 모듈, 클래스, 객체와 같은 언어의 요소가 내부에 접근할 수 있으며
리플렉션을 이용한 기술을 사용할 수 있다.
- 해석 프로그램의 종류
- Cython(사이썬): C로 작성된 인터프리터
- 스택리스 파이썬: C Stack(C스택)을 사용하지 않는 인터프리터
- Jython(자이썬): 자바 가상 머신용 인터프리터. 과거에는 제이 파이썬(JPython)
이라고도 불렸음. - IronPython: .NET(닷넷) 플랫폼용 인터프리터
- PyPy: 파이썬으로 작성된 Python-Interpreter.
현대에 파이썬은 여전히 인터프리터 언어처럼 동작하나 사용자가 모르는 사이에 스스로
파이썬 소스 코드를 컴파일해 바이트 코드(Byte Code)를 만들어 냄으로써
다음에 수행할 때에는 빠른 속도를 보여줍니다.
파이썬에서는 들여쓰기를 사용해 블록을 구분하는
독특한 문법을 채용하고 있습니다.
이러한 문법은 파이썬에 익숙한 사용자나 기본 프로그래밍 언어에
들여쓰기의 중요성을 높이 평가하는 사용자에게는 잘 받아들여 지지 않고 있지만
다른 언어의 사용자에게는 프로그래머의 코딩 스타일을 제한한다는 평을 듣고 있습니다.
이 밖에도 실행시간에서뿐 아니라 네커티브 이진 파일을 만들 어 주는 C/C++ 등의
언어에 비해서 수행 속도가 느리다는 단점이 있습니다.
그러나 사업 분야 등 일반적인 컴퓨터 응용 환경에서는 속도가 그리 중요치 않고
빠른 속도를 요하는 프로그램의 경우에 프로토타이핑(Proto-Typing)한 뒤 빠른 속도가
필요한 부분만 골라 C 언어 등으로 모듈화가 가능합니다 (ctypes, SWIG, SIP등)
또한 Pyrex, Psyco, NumPy(넘파이) 등을 이용해 수치를 빠르게 연산할 수 있기에
과학 공학 분야에서도 많이 이용되고 있습니다.
점자척인 중요성의 강조로 국내에서도 점차 그 활용도가 커지고 있습니다.
'백엔드 > Python' 카테고리의 다른 글
[Python] 파이썬 3강 - 파이선 프로그래밍의 기초 , 자료형 - 문자열 자료형 - 1.문자열 연산하기 (0) | 2023.01.16 |
---|---|
[Python] 파이썬 2장 - 파이썬 프로그래미의 기초, 자료형 - 숫자형 (0) | 2023.01.02 |
[Python] 파이썬 1장 - 파이썬 설치하기 (0) | 2023.01.02 |