
290
2
부
객체로서의 함수
[예제
7
-
2
]는 함수 객체의 ‘일급’ 특성을 보여 준다. 함수를 변수
fact
에 할당하고, 이 변수명
을 통해 함수를 호출한다. 그리고
factorial
을
map( )
함수(
https://fpy.li/7-3
)에 인수
로 전달할 수도 있다.
map(function, iterable )
을 호출하면, 반복형인 두 번째 인수 (이 예
에서는
range(10 )
)의 각 요소를 인수로 사용해서 첫 번째 인수에 있는 함수 (
function( )
)를
호출한 결과를 항목으로 가지는 반복형이 반환된다.
예제
7-2
다른 이름을 사용해
factorial
()
을 호출하고,
factorial
을 인수로서 전달하기
>>> fact = factorial
>>> fact
<function factorial at 0x...>
>>> fact(5)
120
>>> map(factorial, range(11))
<map object at 0x...>
>>> list(map(factorial, range(11)))
[1, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880, 3628800]
일급 함수가 있으면 함수형 스타일로 프로그래밍할 수 있다. 함수형 프로그래밍 (
https://
fpy.li/7-4
)의 특징 중 하나가 고위 함수인데, 여기에 관해서는