• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

flask 깊은 이해를 위한 파이썬 중급 문법: closure function 관련

21.11.05 21:15 작성 조회수 136

0

flask 깊은 이해를 위한 파이썬 중급 문법: closure function 관련 질문 드립니다.
이전 강의와 해당 강의에서 각각 first class function과 closure function에 대해 배웠는데, 이 둘을 같은 개념이라고 생각하면 되는 건가요?
구글에 검색해도 사람마다 이야기하는게 다른 것 같아 강사님께 질문을 남깁니다.
감사합니다.

답변 1

답변을 작성해보세요.

0

안녕하세요.

first-class 함수는 다음과 같은 기능을 가진 '함수' 를 지칭하는 용어입니다.

First-class 함수

  • 다음과 같이 다룰 수 있는 함수를 First-class 함수라고 부름
    • 함수 자체를 변수에 저장 가능
    • 함수의 인자에 다른 함수를 인수로 전달 가능
    • 함수의 반환 값(return 값)으로 함수를 전달 가능

Closure 함수는 다음과 같은 기능을 사용하기 위해 만든 '함수' 를 지칭하는 용어입니다.

함수와 해당 함수가 가지고 있는 데이터를 함께 복사, 저장해서 별도 함수로 활용하는 기법

이 둘은 정의가 다르기 때문에, 각각의 정의와 용어를 매칭해서 알아두시면 좋을 것 같아요. 보통은 함수형 언어 스타일을 지원하는 언어들은 모든 함수가 first-class 함수라고 말할 수 있는 경우가 많고요. closure 함수는 영상에서 보여드린 대로 특별한 코드를 작성했을 때, 해당 코드 안에 위와 같은 역할을 하는 함수를 closure 함수라고 이야기를 합니다.

감사합니다.