좋은 아침이네요~.
저도 드디어 쥐 책(Learning Python)을 샀답니다~.
아직 책도 없었다니… 놀래셨죠?^^;
사실 그 동안은 인터넷에 좋은 자료가 많아서 굳이 책을 살 필요성을 못 느꼈거든요.
하지만, 제가 여러분께 올바른 방향을 알려드리려면 공부를 더 많이 해야겠더라구요.
앞으로 더욱 열심히 해볼랍니다.
이제 책에서 궁금한 것도 물어보세요~.
기나긴 자료구조 부분이 드디어 끝났죠?
좀 지루하셨으리라는 생각이 들긴 하지만, 컴퓨터에 있어서 자료구조의 중요성은 절대적이라고 할만큼 크답니다.
스택과 큐의 개념이 작게는 CPU 내의 기억장소에서부터, 크게는 파일, 데이터베이스, 전체 시스템에까지 두루 적용된다고 하니까 틈틈히 공부해두시면 좋겠네요.
우리가 지금까지는 혼자서 변수, 함수를 만들어 쓰면서 자급자족하는 방법을 배웠다고 한다면, 이제부터는 남이 만들어 놓은 부품을 가져다가 사용하는 방법을 배울 차례입니다.
우리가 복잡한 프로그램을 작성하기 위해서 필요한 모든 과정을 직접 만들어야 한다면 어떤 모습이 될까요?
전체적인 모습에서부터 작은 기능 하나하나까지 모두 구상해서, 만들고, 오류를 수정해서 한 곳에 모아두면 또 오류가 생기고…
더구나, 또 다른 프로그래머는 나와 비슷한 기능을 하는 프로그램을 만들면서 똑같은 시행착오를 답습할테구요.
그래서, 이런 문제를 해결하기 위해 모든 프로그래밍 언어들(제가 아는 한)은 모듈이라는 개념을 사용합니다.
모듈은 프로그램의 꾸러미라고 생각하시면 되지요.
예를 들어, 만약 작성할 프로그램에 수학적인 계산 기능이 필요하다면 math라는 모듈을 불러와서 사용하시면 됩니다.
|
>>> import math # math 모듈을 불러온다 >>> math.pi # math 모듈의 변수 pi의 값은? 3.1415926535897931 |
위에서는 수학적인 계산에 필요한 것들을 모아둔 math 모듈을 불러온 다음, math 모듈 내에 정의되어 있는 pi 변수를 사용했습니다. pi는 원주율을 뜻하지요.
이번에는 달력을 불러볼까요? 딱 두 줄만 치면 됩니다.
|
>>> import calendar >>> calendar.prmonth(2001, 6) June 2001 Mo Tu We Th Fr Sa Su 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
훌륭하죠?
이번에는 더욱 훌륭한 것을 보려드리지요.
|
>>> from Tkinter import * >>> widget = Label(None, text='I love Python!') >>> widget.pack() |
엉… 뭐가 지나갔냐…
이렇게 파이썬에서는 좋은 기능들을 모듈로 묶어서 자체적으로 제공해 준답니다.
파이썬 뿐만이 아니라 대부분의 언어에서 이런 식으로 프로그래밍을 편리하게 할 수 있도록 지원해주지요.
그럼 모듈을 어떻게 만들고 불러오는지 알아봅시다.
파이썬이 설치된 경로(저는 D:\Python21)에 보면 Lib라는 폴더가 있습니다.
거기서 calendar.py 파일을 텍스트 에디터로 열어보세요. 텍스트 에디터라 함은 바로 ‘메모장’ 같은 프로그램을 말하지요.^^
여러분은 지금 calendar 모듈을 보고 계십니다.
처음에 Calendar printing functions이라고 제목과 모듈의 쓰임새가 설명되어 있구요, 그 다음에는 변수들의 의미와 변수 정의가 쭈욱 나열되어 있지요. 한참 내려가시면 함수들도 보입니다.
그 중에서 isleap() 함수를 찾아보세요. ‘찾기’ 기능을 사용하시는 것이 편리하겠죠?
|
def isleap(year): """Return 1 for leap years, 0 for non-leap years.""" return year % 4 == 0 and (year % 100 != 0 or year % 400 == 0) |
이 함수는 인자로 입력된 연도가 윤년인지 아닌지를 알려준다고 설명이 되어 있구요, 아래의 식은 윤년을 계산해서 1 또는 0으로 결과를 돌려줍니다.
다시 파이썬 인터프리터로 돌아와서 이 함수를 테스트 해봅시다.
아까 달력 테스트를 안해보신 분은 import calendar 부터 하시고 아래를 따라해보세요.
|
>>> calendar.isleap(2000) # calendar 모듈의 isleap 함수를 호출 1 >>> calendar.isleap(2001) 0 |
이제 모듈이 어떻게 만들어졌는지 감이 잡히시지요?
모듈에 넣고 싶은 변수와 함수들을 py 파일로 만들어 두면 되는 거죠.
모듈을 사용할 때는 ‘import 모듈이름’의 형태로 불러두고, ‘모듈이름.함수’ 형식으로 호출하구요.
변수도 마찬가지입니다. 이런 짓 해도 되나 몰라…
|
>>> calendar.February 2 >>> calendar.February = 3 >>> calendar.February 3 |
오늘도 파이썬을 갖고 재미있게 놀아보았습니다.
모듈을 잘 들여다 보면 배울 것이 많을 것 같군요.
내일 또 만나요~.
