제가  Python 을 처음 접했던 것이 04년도 쯤으로 기억합니다. 당시 주변에 Python 을 사용하던 사람들이 너무 좋다라는 이야기를 많이 했습니다. 도대체 어떤 언어이기에 그토록 좋다고 하는지 궁금했었죠. 사실 서점에 가더라도 Python 책은 항상 보기좋은 위치에 진열되어 있었습니다. 그래서 언젠가 꼭 한번 봐야지 라고 했던게 미루고 미루다 근래 들어서 보기 시작하였습니다.

 파이썬에 대한 제 첫 느낌은 한마디로 이렇습니다.
"쉽다, 편하다"
조금 사용해 보신 분들은 아시겠지만, 정말로 직관적입니다.
흔한 예로 문자열 "AAAAAAAAAA" 을 출력하려면
print "A" * 10
이렇게 하면 됩니다.

프로그래밍을 오래 하신분들에게는 익숙하지 않고, 어쩌면 엉터리 같은 느낌을 줍니다.
하지만 이제 프로그래밍을 시작하시는 분들에게는 당연하게 느껴질 수 있을 것입니다.

정확히 말하면, 프로그래밍을 오래한 사람이 아니라 기존 문법에 너무나 세뇌된 사람들이겠지요. :)



파이썬이란?

파이썬[1](Python)은 1991년[2] 프로그래머귀도 반 로섬(Guido van Rossum)[3]이 발표한 고급 프로그래밍 언어로, 플랫폼 독립적이며 인터프리터식, 객체지향적, 동적 타이핑(dynamically typed) 대화형 언어이다. 파이썬이라는 이름은 귀도가 좋아하는 코미디 〈Monty Python's Flying Circus〉에서 따온 것이다.

파이썬은 비영리의 파이썬 소프트웨어 재단이 관리하는 개방형, 공동체 기반 개발 모델을 가지고 있다. 사실상의 표준은 CPython의 구현이다.

wikipedia.org 는 파이썬을 이렇게 설명하고 있습니다.

특징은 이렇습니다.


주요 특징
  • 동적 타이핑(dynamic typing). (실행 시간에 자료형을 검사한다.)
  • 객체의 멤버에 무제한으로 접근할 수 있다. (속성이나 전용의 메서드 훅을 만들어 제한할 수는 있음.)
  • 모듈, 클래스, 객체와 같은 언어의 요소가 내부에서 접근할 수 있고, 리플렉션을 이용한 기술을 쓸 수 있다.



동적 타이핑이란 ocaml 프로그래밍이나 javascript 처럼 DataType 을 구문을 통해 자동으로 분석/정의 해 주는 것을 말합니다.
실제로 파이썬에서 "http://CrystalCube.co.kr" 이라는 문자열을 선언할 때, 아래처럼 하면 됩니다.

url = "http://CrystalCube.co.kr"

그리고 만약 300 이라는 숫자를 선언하려면, 또한 아래처럼 하면 됩니다.

num = 300

보시는 것 처럼, string 혹은 char *, int 와 같은 DataType 을 정의해 주지 않아도, 내부적으로 알아서 해석기가 인지합니다.

 해석 프로그램의 종류

  • CPython : C로 작성된 인터프리터.
  • 스택리스 파이썬 : C 스택을 사용하지 않는 인터프리터.
  • Jython : 자바 가상 머신 용 인터프리터. 과거에는 제이파이썬(JPython)이라고 불렸다.
  • IronPython : .NET 플랫폼 용 인터프리터.
  • PyPy : 파이썬으로 작성된 파이썬 인터프리터.


해석기가 이처럼 다양하게 있기 때문에, 다른 언어와 섞어서 사용하기 좋은 언어라고 할 수 있습니다. :)


앞으로 이 파이썬이라는 언어에 대해서 배워보도록 하겠습니다.
다들 아시겠지만, 언어라는게 큰 맥락만 알면 어떤 언어든 다 비슷하다는것을 느끼실 겁니다.
그래서 모든 문법에 대해서 하나씩, 하나씩 설명하기보다는 C/C++ 과 비교했을 때 독특한 문법을 위주로 설명 드리겠습니다.

'Python' 카테고리의 다른 글

django 와 WSGI 와 NGINX  (0) 2018.10.11