2.4.2 두 번째 방법, None 보초 값 사용하기
다른 곳에서 가장 흔히 찾아볼 수 있는 ‘해결책’은 가변 기본값 대신 간단히 None을 사용하고, 초기화를 함수 안에 넣는 것입니다. 이렇게 하면 코드를 클래스보다 더 간단한 함수 형태로 유지하고, 내장된 컬렉션 자료형을 사용할 수 있습니다.
None 보초 값을 함수의 명명된 매개 변수로 사용하기
>>> def wordfile_to_list(fname, initial_words=None):
... words = [] if initial_words is None else initial_words
... with open(fname) as wordfile:
... words.extend(wordfile.read().split())
... return words
...
>>> words = wordfile_to_list("data/a-words.txt")
>>> words
['acclimations', 'airways', 'antinarrative', 'astrocyte']
>>> words = wordfile_to_list("data/b-words.txt")
>>> words
['buggiest', 'biros', 'bushvelds', 'begazed', 'braunite']
>>> words = wordfile_to_list("data/z-words.txt", words)
>>> words
['buggiest', 'biros', 'bushvelds', 'begazed', 'braunite', 'zonate', 'zoophyte', 'zumbooruk', 'zoozoos']