Page 24 -
P. 24
프로그래머처럼 생각하기
코드를 더 작은 부분들로 나누는 것은 프로그래머에게 아주 중요한 기술이다. 이유는 다음과 같다.
•큰 문제를 작은 부분들로 나눠서 살펴보면 좀 덜 두려워진다.
•문제에서 관심 있는 부분에만 집중할 수 있어서 각 부분을 코딩하는 것이 더 쉽다.
• 프로그램 전체를 디버깅하는 것보다는 일부분만 디버깅하는 것이 더 쉽다. 어떤 부분(또는 모듈(module))이 받을
수 있는 입력은 전체 프로그램이 받을 수 있는 입력보다 훨씬 작기 마련이다.
이렇게 나눈 각 부분이 원하는 대로 작동하는 것을 확인한 뒤 각각을 합쳐서 전체 프로그램을 만들 수 있다. 프로그램을
2
많이 만들수록, 어떻게 하면 각각을 응집성 이 높고 논리 정연한 코드로 만들 수 있을지 더 많이 알게 될 것이다.
19.2 코드를 여러 부분으로 나누기
MODERN PYTHON
이제 코드를 어떻게 작은 논리적인 덩어리로 나눌지 생각할 차례다. 보통 첫 번째 덩어리는 주어
진 입력을 확인하고, 프로그램에서 쓸 수 있는 정보를 담기 위해 준비하는 부분이다. 2
● 예술과 관련된 올바른 단어 목록(문자열)을 저장하고, 시작할 타일들(문자열)을 저장한다.
● 올바른 단어를 찾기 위해 start와 end 인덱스를 초기화한다.
● 찾아낸 올바른 단어를 넣기 위해 빈 튜플을 만들어 저장한다.
● 타일로 만들 수 있는 단어를 찾아내 넣기 위해 빈 튜플을 만들어 저장한다.
코드 19-1은 이러한 초기화를 위한 코드다. 3중 큰따옴표(""") 사이에 둘러싸인 문자들로 구성된
문자열은 처음 볼 것이다. 3중 큰따옴표를 사용하면 여러 줄에 걸친 문자열을 만들 수 있다. 3중
큰따옴표 안에 있는 모든 문자는 심지어 새줄 문자까지 전부 다 문자열의 일부가 된다.
코드 19-1 스크래블:아트. 초기화 부분
words = """art 올바른 단어들을 큰 문자열로 저장한다
hue
ink
...
2 역주 내부가 긴밀히 연결되어 있으며 외부와의 접점이 최소화된 상태를 말한다.
236
모던 파이썬 입문(본문)5차_최종.indd 236 2019-09-26 오후 9:33:41