더북(TheBook)

연습문제 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

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.