강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

토빌님의 프로필 이미지
토빌

작성한 질문수

[리뉴얼] 처음하는 파이썬 백엔드와 웹기술 입문 (파이썬 중급, flask[플라스크] 로 이해하는 백엔드 및 웹기술 기본) [풀스택 Part1-1]

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

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

작성

·

249

0

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

답변 1

0

안녕하세요.

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

First-class 함수

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

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

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

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

감사합니다.

토빌님의 프로필 이미지
토빌

작성한 질문수

질문하기