본문 바로가기
Python

일급 함수(First Class function)와 Closure

by Lee David 2022. 8. 6.
반응형

일급 함수란?

함수를 변수화 하여 콜할 수 있는 언어의 특성

def add(a, b):
    return a + b

def closure(func, a, b):
    return func(a, b)

f = add

>>> closure(f, 1, 2)

3
설명

1. add 함수와 closure 함수를 정의

2. add 함수를 f 변수에 담음 (Closure)

3. closure에 담은 함수와 변수를 이용하여 담은 함수에 인자를 전달

Closure란?

함수 안에 새로운 함수를 정의하여 사용하는 언어의 특성

def greetings():
    def say_hello():
        print("Hello")

    return say_hello()


>>> greetings()
    
Hello
설명

1. greetings 안에 함수 say_hello를 정의 하고 say_hello 함수를 return 시킨다.

2. greetings를 실행하면 say_hello의 실행 내용을 반환하게 된다.

반응형