하루동안 IDLE가지고 놀기

(Korean translation by Jisoo Yi)

이 페이지는 파이썬을 어떻게 시작할지 감을 못잡고 있는 초보 사용자를 위해서 만들어졌다. 혹시 이런 질문을 하고 있으시진 않은지? "그래, 파이썬은 깔았는데, 뭘 하지?"

아마 조금은 그림이 들어간 설명서로 시작하는게 시작할 때의 그 지끈거림을 덜어줄 수 있을 것 같다. 지금 이 문서가 바로 그것이다. 이 길라잡이에서 필자는 IDLE(the Integrated Development Environmnet : 통합개발환경)을 조금 다뤄볼까 한다. IDLE는 컴퓨터 언어, 여기서는 파이썬, 를 손쉽게 여행할 수 있도록 설계되었다. 아, 그리고, 강의가 진행되는 중에 필자는 약간의 서툰 실수를 저지를까 한다. 잘못하면 어떻게 되는지 보여주기 위해서다. ^^;

만약, 이 온라인 문서에 대한 어떤 제안이라도 가지고 있거나, 수정이나 보완을 할 게 있으면, 언제든지 dyoo@hkn.eecs.berkeley.edu로 메일 보내주시기 바란다. Python Tutor 메일링 리스트에도 엄청난 자료가 있음을 잊지 마시길. 메일링 리스트에 있는 사람들은 파이썬의 재밌는 것들을 공유하길 좋아하는 사람들이다. 우리는 서로 도와가며 배우고 있으니, 맘 편히 가입해서 참여하길 바란다.

변경내역



일단, 우리모두 파이썬을 이미 설치하고 가정하자. (만약 설치를 하지 않았으면, http://python.org/ 를 방문해서, 가장 최근 나온 파이썬 인터프리터를 내려받기 바란다. 지금 이 글이 쓰여진 시점에는 파이썬 2.1이 가장 최신이다.) 처음 할 일은 그냥 파이썬을 실행시키는 것이다. IDLE를 아래 그림과 같이 시작 메뉴 밑에 새로 생긴 파이썬 그룹 아래에서 선택해서 실행시키면 된다.



새 창이 아래처럼 떴다.

이 것이 IDLE의 주된 창이고, "인터프리터" 창이라고 부른다. 인터프리터 창은 파이썬의 바로 번역을 입력할 수 있게 되어있다. 명령을 입력하자 마자 명령은 실행되고 결과를 보여주는 창이다. 파이썬 세계를 탐험하면서, 이 인터프리터 창을 많이 쓰게 될 것입니다. 결과를 바로바로 알 수 있어서 아주 근사한 창이다. 어떻게 보면, 아주 강력한 전자 계산기라고 생각해도 좋겠다. 수식을 넣으면 답을 바로바로 주니까.



그럼 뭔가 해볼까? 전통에 따라서 불멸의 문장, "Hello World"를 파이썬에게 말하게 해보자.

">>>"라고 되어 있는 것이 프롬프트이다. 이건 파이썬이 우리의 명령을 받을 준비가 되었다고 시각적으로 알려주는 거다. 사용자 입장에서는, 우리가 명령을 넣으면 파이썬이 결과를 바로 알려주겠군 하고 알 수 있다.



이건 너무 간단했나? 그럼 좀 더 명령을 입력해보자. 아래처럼 입력하면:

우리는 몇 가지 명령이 더 수행된 결과를 볼 수 있다. 아직까지는 어떤 정확한 규칙에 따라 프로그램을 작성해야 하는지 너무 걱정하지 않도록 한다. 중요한 것은 우리는 파이썬에 대고 명령을 입력하면서 이것저것 실험을 하고 있다는 것이다. 만약, 잘못되면 그 때 가서 문제를 수정하면 된다. 그리고, 또 해보는 거다!

여기까지 왔으면, 여러분들은 파이썬을 가지고 어떻게 놀아야 하는지 알 게 되었다. Python For Beginners (초보자를 위한 파이썬) 페이지에 가서 아무 입문서나 클릭해서, 창을 띄운 다음, 파이썬을 가지고 놀아보기 바란다. 여기선 시간 제한은 없다. ^^



이제, 충분히들 놀아보셨는지? 근데 이런 질문이 생길 수 있겠다. : 좋아. 깔끔하군. 헌데, 만약 우리가 파이썬 창을 닫고 다시 창을 띄우면 어떻게 컴퓨터가 내가 입력했던 내용을 기억할 수 있지?

해결방법이 있긴한데, 약간 어색하다(?). 우리는 인터프리터 창에 입력한 내용을 직접 저장할 수는 없다. 왜냐하면, 인터프리터 창에는 우리가 입력한 명령들과 시스템의 결과들이 함께 엉겨있기 때문이다. 대신에, 우리는 파일을 하나 따로 준비해서, 그 파일에 명령들만 입력하고 저장할 것이다. 그 파일의 실행결과를 보고 싶으면, 파일을 열고 "run" 명령을 내려주면, 입력했던 명령이 실행되는 것이다. 매번 인터프리터 창에 대고 같은 명령을 반복해서 입력하는 것이 아니라.

한 번 해보도록 하자. 먼저, 아래 처럼 새 창을 인터프리터 창에서 띄운다.

그러면, 아래와 같이 새 창이 뜬다.

보시다시피, 새 창에는 아무것도 없다. 이게 의미하는 바는 이건 "명령"들만 입력하는 창이란 뜻이다. 파이썬은 우리가 실행하라(run)고 하기 전까지는 실행 결과를 보여주려고 방해하지 않을 것이다. 이 창을 "인터프리터" 창과 구별해서 "프로그램" 창이라고 부르겠다.



우리는 전에 인터프리터 창에서 시험해봤던 명령들을 저장해보고 싶어했었다. 새 "프로그램" 창에다 아까 입력했던 명령들을 다시 입력해보자. 혹은, 복사하기/붙이기를 통해서 처리해도 되겠다.

만약 복사/붙여넣기를 통해서 창의 내용을 옮겨 적었다면, 주의할 점이 하나 있다. 프롬프트(">>>")를 모두 삭제하는 것이다. 프롬프트는 실제 프로그램이 아니다. 인터프리터가 명령을 기다리고 있음을 알리기 위해서 사용하는 것일 뿐이다. 우리는 지금 프로그램 창에서 따로 파일을 만들고 있으므로, 인터프리터가 생성한 프롬프트는 필요없다. 잘 지우시기 바란다.



파일을 저장하자. 파일(File) 메뉴 아래에 저장(Save) 명령을 선택하면 된다.



우리가 만든 프로그램이 저장이 되었다. 그럼, 어떻게 실행을 하지? 프로그램 창의 편집(Edit) 메뉴를 보면,

메뉴 중에 "스크립트 실행(Run script)"이란 것이 있다. 이것을 선택하면 실행이 된다. 선택하면, 파이썬이 프로그램(혹은 스크립트)를 실행하고, 그 결과를 인터프리터 창에 뿌려주는 것을 볼 수 있다.

그런데, 하나 주의하고 볼 점은, 내가 타이핑 실수를 했다는 점이다. 인터프리터 창에서 프로그램 창으로 옮겨적으면서 그다지 정확하지 못핬다. 무슨 문제가 있을까?

이런... ^^; 지금 보는 것이 파이썬이 "문법오류(syntax error)"라고 부르는 것의 예이다. 파이썬이 우리가 실수한 내용을 보고는, 프로그램을 좀 더 꼼꼼히 보라고 경고해주는 것이다. 파이썬의 설계자는 "사용자가 뭘 하려고 했을까?" 하고 추측해서 실행하는 것보다, 파이썬이 보기에 잘못된 점을 짚어 주는 것이 더 좋다고 느꼈던 모양이다.

이번 경우처럼, 파이썬은 문제가 무엇인지 정확하게 알려주기도 한다. 지금 예제 화면에서는 2번째 라인 끝에 뭔가가 빠졌다고 알려주고 있다. 이런, 큰따옴표를 마지막에 빼먹었다. 지금 넣어주도록 하자.



그럼, 멍청한 실수를 고쳤으니, 다시 프로그램을 실행해보도록 하자.

또 다른 경고 창이 뜬다, 하지만 별로 복잡한 것은 아니다. IDLE는 우리가 프로그램을 실행시키기 전에 저장부터 하길 권하고 있는거다.

(노트: 헌데, 많은 사람들은 IDLE가 이렇게 잔소리하는 것을 귀찮아 하고 있다. 다음 버전에서는 이런 메시지를 주지 않았으면 좋겠다. 대부분 다른 개발 환경은 변경된 사항이 있으면 알아서 저장을 하고 실행을 한다.)

다시 한 번 돌려보자. 이번에는 잘 돌아야 할텐데...



파이썬과 놀아 보면서, 우리는 인터프리터 창과 프로그램 창을 "넘나드는 법"을 배웠다. 인터프리터 창은 작은 실험실로 생각하면 된다. 작은 프로그램을 짜서 돌려보고 그 결과를 점검하는 것이다. 그 결과가 만족스러우면 (혹은 지겨우면... ^^;), 실험결과를 프로그램 파일로 만들어서 저장하면 된다.

물론, 이러한 작업은 나중에도 저장해둔 파일을 불러오는 것을 가정한 것이다. 저장해두기만 하고 불러올 수 없다면, 그 얼마나 우스운 꼴인가? 이걸 한 번 해보자. 모든 것을 그만두고, IDLE를 다  닫은 후에, 다시 깨끗한 상태에서 시작해보자.

파일(File) 메뉴 아래에 열기(Open) 명령을 볼 수 있을 것이다.

별 문제가 없다면, 새로운 프로그램 창이 열리는 것을 볼 수 있을 것이다.

우리의 옛 프로그램이 프로그램 창에 올라왔다. ^^; 우리는 옛 작업을 저장했다가 다음 번에 불러 올 수 있다. 절대 대단한 일 아니지만, 파이썬을 하루만 가지고 놀 사람이 아닌 경우에는 대단히 중요한 기능이다. ^^;

이것이 IDLE를 가지고 흥미로운 무언가를 하기 위해서 알아야 할 거의 대부분이다. 이 길라잡이는 IDLE에 관한 많은 부분을 생략했다. 실제로 IDLE는 단순한 편집기(editor) 이상의 것이다. 하지만, 모든 기능을 살펴보기에는 시간이 좀 걸리니깐, 이번에는 여기서 마치기로 하자. 호기심을 자제하기 힘든 분들은, IDLE Documentation 에 가서 IDLE의 고급기능을 살펴보면 되겠다. 다시 한 번 강조하지만, 파이썬에 관해 질문이 있으면, Python Tutor 메일링 리스트에 가셔서, 맘 편히 질문을 올리기 바란다. 거기에 가면 분명 파이썬에 관해서 여러분들과 이야기하고 싶어하는 누군가가 있을 것이다. 이번 길라잡이가 재밌었고, 도움이 되었기를 바란다.