파이썬의 함수는 일급 객체로 다양한 기능이 구현됩니다.
"""
함수를 생성하고, 호출
__doc__속성을 읽고 함수 객체 자체가 function 클래스의 객체
"""
#함수를 생성해서 테스트하고, 함수 __doc__을 읽어서 자료형 확인
def factorial(n):
"""returns n!"""
return 1 if n < 2 else n * factorial(n-1)
factorial(42)
factorial.__doc__
type(factorial)
"""
__doc__ 속성은 객체의 도움말 텍스트를 생성하기 위해서 사용된다.
파이썬 대화형 콘솔에서 help(factorial) 명령과 같은 화면 출력하고, 설명문은 함수 객체의 __doc__ 속성에서 가져온다
"""
#함수를 다른 이름으로 사용하고 함수의 인수로 전달하기
fact = factorial
fact
fact(5)
map(factorial, range(11))
list(map(fact, range(11)))