연습문제 3-2
함수 객체는 변수에 할당한 값 또는 인수로 전달한 값이다. 예를 들어 do_twice는 함수 객체를 인수로 받아서 함수 객체를 두 번 호출하는 함수다.
def do_twice(f):
f()
f()
다음은 print_spam 함수를 두 번 호출하기 위해 do_twice를 사용하는 예제다.
def print_spam():
print('spam')
do_twice(print_spam)
1. 이 예제를 스크립트로 입력하고 테스트하라.
2. 함수 객체와 값을 인수로 받아서 값을 인수로 전달하여 함수를 두 번 호출하도록 do_twice를 수정하라.
3. 이 장의 처음에 나온 print_twice 함수의 정의를 스크립트로 복사하라.
4. 'spam'을 인수로 전달하면서 print_twice를 두 번 호출하기 위해 do_twice를 수정한 버전을 사용하라.
5. 함수 객체와 값을 받아서 이 함수에 값을 인자로 전달하면서 네 번 호출하는 새로운 함수 do_four를 정의하라. 이 함수의 바디에는 네 문장이 아닌 두 문장만 있어야 한다.
해법: http://thinkpython2.com/code/do_four.py