파이썬

내위키
Dennis (토론 | 기여)님의 2018년 12월 6일 (목) 08:12 판

네덜란드 출신 프로그래머인 귀도 판 로섬이 만들어 낸 프로그래밍 언어. 1989년 크리스마스 때 연구실은 문이 닫혀 있고, 뭔가 몰두할 만한 "취미" 프로그래밍 프로젝트가 있었으면 해서 시작한 게 파이썬이 되었다고 한다. 심심해서 만들었는데 세상을 뒤흔들었다는 말을 우리는 믿어야 한다. 하긴 뭐 리눅스도 시작은 재미로 한 거라...

역사는 길지 않은 편이지만 쉬운 사용법과 모듈을 이용한 강력한 확장성으로 큰 인기를 끌고 있으며, 특히 각자의 필요에 맞는 간단한 프로그램을 빠르게 만들기에 좋은 도구다. 실제 미국 대학에서는 학과에 관계 없이 파이썬을 배우는 사람들이 많다. 자료 정리나 간단한 통계 처리를 비롯해서 이공계가 아니더라도 데이터를 다룰 일들은 많은데, 파이썬을 쓸 줄 알면 상당한 도움이 된다. 수많은 파이썬 모듈이 나와 있어서 모듈만 잘 갖다 붙여도 별의 별 걸, 그것도 무척 쉽게 할 수 있다. 물론 큼직한 프로그램이나 엔터프라이즈급 서비스도 가능하며, 구글에서도 공식 프로그래밍 언어 중 하나로 쓰이고 있고 파이썬을 이용한 웹 서비스도 상당한 세를 형성하고 있다. 다만 프로그랭 실행이 인터프리터 방식이다 보니 GUI 환경의 데스크톱 프로그램이나 모바일 앱 개발 쪽으로는 아직 큰 인기는 끌지 못하고 있다.

파이썬이라는 이름은 귀도 판 로썸이 좋아하는 영국의 코미디 팀인 몬티 파이선(Monty Python)에서 따온 것이다. 그래서인지 파이썬을 다룬 책이나 문서에는 변수나 함수 이름으로 egg, spam, bacon 같은 이름이 많이 나온다. 왜 그런지는 스팸 (광고) 문서 참조.

우리나라에서는 웹 서버 사이드 프로그래밍 쪽으로는 인기가 그리 높지 않지만 해외에서는 상당히 많이 쓰이고 있다. 구글의 공식 언어 중 하나일 정도로 인정 받고 있으며 파이썬으로 돌리고 있는 웹 서비스들도 있고, 파이썬 장고 웹 프레임워크 기반으로 개발된 인스타그램은 가장 손꼽히는 활용 사례다. 드롭박스는 일단 귀도 판 로섬이 근무했던 곳이기도 해서 파이썬 활용도가 높은 것으로 알려져 있다. 그밖에도 링크드인, 핀터레스트와 같은 대규모 웹 서비스들이 파이썬을 주축으로 혹은 일부 사용하고 있어서 대형 서비스에서도 충분히 활용할 수 있다. 여러 가지 웹 프레임워크가 난립해 있는 다른 언어들과는 달리 파이썬은 장고 웹 프레임워크가 압도적으로 높은 사용률을 보이고 있고 좀 더 경량인 플라스크도 어느 정도 사용자를 확보하고 있다.

특징

영어에 친숙하다면 상당히 직관적이라는 것을 알 수 있다. 상당수 프로그래밍 언어들은 괄호나 중괄호를 많이 쓰는 편인데 반해 파이썬은 이런 필요성이 적다. 예를 들어서 C++로 1부터 100까지 더한다고 가정해 보면,

int a = 0
for (int i = 0; i < 101; i++) {
  a += i;
}
count << a;

반면 파이썬은

a = 0
for x in range(0, 101):
  a += x
print(a)

프로그래밍 언어를 잘 모르는 사람에게 C++의 for 문은 정말 뭔지 알 수 없지만 파이썬은 어느 정도 추측이 가능하다. "x가 0부터 101에 이르는 범위(range) 안에 (in) 있는 동안"이라는 정도로 해석해 볼 수 있기 때문이다. 한국어로 해석해서 range와 in의 순서가 반대로 나와서 그렇지 영어에 친숙하다면 더욱 이해하기 쉽다. 이런 특징은 파이썬을 쉽게 배울 수 있는 이유 중 하나다.

변수

파이썬의 변수는 C자바처럼 유형을 사전에 정의하고 엄격하게 지켜야 하는 방식이 아니다. 즉 자바스크립트베이직처럼 어떤 유형이든 대입할 수 있으며 쓰다가 자유롭게 유형을 바꿀 수 있다. 단순히 변수의 이름을 정하고 초기값을 대입하는 것만으로도 충분하다. 다만 전역변수와 로컬변수 구분은 확실히 존재한다. 다만 일단 값을 대입했으면 데이터 유형의 영향을 받기 때문에 문자열에 숫자를 더한다든가 하는 것은 안 되며[1] 반드시 타입 캐스트를 거쳐야 한다.

블록

코드의 실행 블록 범위를 정할 때 C자바를 비롯한 많은 언어들은 중괄호를 사용하거나, 파스칼처럼 endif와 같은 키워드를 사용해서 블록의 끝을 표시하는 것과는 달리 파이썬은 들여쓰기를 블록을 표시하는 방법으로 사용한다. 대부분 언어들은 들여쓰기를 시각적으로 블록을 구분하기 편하기 위해 쓰지만 파이썬은 의무이며 그렇지 않으면 오류를 일으킨다. 대신 중괄호나 endif를 사용하지 않으로 코드의 길이가 조금이나마 줄어드는 장점이 있다. 들여쓰기를 할 때에는 탭을 사용하지 않도록 권장하며 보통 블록 1 단계 당 빈칸 2개 또는 4개를 사용하지만 파이썬의 코드 스타일 가이드라인인 PEP8에서는 빈칸 4개를 권장한다.

각주

  1. 문자열에 숫자를 곱할 수는 있다. 숫자만큼 문자열을 반복한 문자열을 돌려준다.