더북(TheBook)

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']
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.