>>> string.split('break into words') # 문자열을 분리한 리스트 구함
['break', 'into', 'words']
string 모듈보다 좀 더 전문적으로 문자열을 다룰 수 있는 re(regular expression : 정규 표현식)모듈도 있지요.
다음 예제에서 두번째 줄의 괄호 안에 쓴 것이 정규 표현식인데요, 마침표(.)는 문자 아무거나 한 개를 뜻하고, 별표(*)는 한 개 이상의 문자를 뜻합니다.
그래서 현재 디렉토리에서 p 다음에 n이 나오는 이름을 갖고 있는 파일들을 모두 찾아주게 되지요.
실행한 결과를 잘 보시면 이해가 되실거예요.
>>> import re, glob
>>> p = re.compile('.*p.*n.*')
>>> for i in glob.glob('*'):
... m = p.match(i)
... if m:
... print m.group()
...
pycon.ico
python.exe
pythonw.exe
w9xpopen.exe
이런 것들 외에 처음에 모듈에 대해 설명드릴 때 보여드린 math나 Tkinter도 자주 쓰실 법하네요.
지금까지 몇 가지 예를 보여드렸는데 모듈들이 참 쓸만하죠?
파이썬에서 제공하는 모듈을 잘 활용하면 좋은 프로그램을 쉽게 만들 수 있을 것 같네요.
하지만 수 많은 모듈의 사용법을 모두 머리에 집어넣으실 필요는 없겠죠?
작성하실 프로그램에서 어떤 기능을 필요로 하는가에 따라 어떤 모듈을 사용할 것인지 결정한 다음, 사용설명서를 보면서 모듈의 사용법을 익혀서 프로그래밍하시면 됩니다.
모듈의 사용설명서로는 파이썬과 함께 기본적으로 설치되는 ‘Python Library Reference(파이썬 라이브러리 레퍼런스)’라는 것도 있고, 책이나 인터넷을 통해 자료를 찾아볼 수도 있지요.
끝으로 재미있는 모듈을 하나 더 소개해드릴게요.
한 번 따라해보세요. 그럼 전 이만… 휘리릭~
이번에는 파이썬에서의 랜덤(random)에 대해 가볍게 정리해볼까 합니다.
우선 랜덤이 무엇인지부터 살펴볼까요.
주사위를 던지는 상황을 생각해봅시다. 주사위의 각 면에는 1개에서 6개까지의 눈이 새겨져 있어서, 주사위를 던질 때마다 그 중 하나의 숫자가 선택됩니다.
주사위를 직접 던져보기 전에는 다음번에 어떤 숫자가 나올지 알 수가 없죠.
그런데 주사위를 600번 정도 던져보면 각 숫자가 대략 100번 정도는 나오기는 합니다.
이런 것이 바로 난수(random number)입니다.
난수의 예가 될 만한 것으로 주사위 외에 또 어떤 것들이 있을까요? 짤짤이, 복권 추첨, 음악 CD의 재생 순서 섞기...
그럼 파이썬으로 난수를 만들어봅시다.
>>> import random
>>> random.random()
0.90389642027948769
random 모듈의 random() 함수를 호출했더니 복잡한 숫자를 돌려주네요.
random() 함수는 0 이상 1 미만의 숫자 중에서 아무 숫자나 하나 뽑아서 돌려주는 일을 한답니다.
주사위처럼 1에서 6까지의 정수 중 하나를 무작위로 얻으려면 어떻게 해야 할까요?
이럴 때 편리하게 쓸 수 있는 randrange()라는 함수가 있습니다.