Python의 일급 함수

Fariba Laiq 2023년6월21일
  1. Python의 일급 함수 속성
  2. 파이썬의 퍼스트 클래스 함수의 예
Python의 일급 함수

일급 함수는 언어에서 개체 또는 변수로 취급되는 함수입니다. 변수에 할당하거나 다른 함수에 개체로 전달할 수 있습니다.

Python은 일급 함수를 지원합니다.

Python의 일급 함수 속성

  • 개체 유형의 인스턴스입니다.
  • 변수에 할당할 수 있습니다.
  • 다른 함수의 인수로 전달할 수 있습니다.
  • 함수를 반환할 수 있습니다.
  • 해시 테이블, 목록 및 기타 데이터 구조에 저장할 수 있습니다.

파이썬의 퍼스트 클래스 함수의 예

개체로서의 기능

다음 코드에서 함수 square()를 변수 my_sq에 할당했습니다. 이제 my_sqsquare()와 동일합니다.

변수에 할당하는 동안 이름을 작성할 때 함수를 호출하지 않았습니다. 실제 함수를 가리키는 my_sq() 함수를 호출합니다.

출력으로 전달된 숫자의 제곱을 얻습니다.

예제 코드:

# Python 3.x
def square(x):
    return x * x


my_sq = square
result = my_sq(2)
print(result)

출력:

#Python 3.x
4

함수를 인수로 다른 함수에 전달

다음 코드에서 객체를 인수로 전달하는 것처럼 함수 square()를 함수 operation()의 인수로 전달했습니다.

그 메서드에서 전달된 함수를 객체 func에 할당하고 func()가 백엔드에서 square()를 참조하기 때문에 func()를 호출하여 square() 함수를 호출합니다. .

함수를 인수로 받아들이는 함수를 고차 함수라고 합니다. 여기서 operation()은 고차 함수입니다.

예제 코드:

# Python 3.x
def square(x):
    return x * x


def operation(func):
    result = func(2)
    print(result)


operation(square)

출력:

#Python 3.x
4

함수에서 함수 반환

함수는 객체이기 때문에 다른 함수에서 함수를 반환할 수 있습니다. 다음 코드에서는 square() 함수를 반환하는 operation() 함수를 만들었습니다.

반환된 함수를 sq 개체에 저장했습니다. 이제 sqsquare() 메서드를 나타냅니다.

마지막으로 square() 메서드를 sq를 통해 호출했습니다.

예제 코드:

# Python 3.x
def operation():
    def square(x):
        return x * x

    return square


sq = operation()
result = sq(2)
print(result)

출력:

#Python 3.x
4
작가: Fariba Laiq
Fariba Laiq avatar Fariba Laiq avatar

I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.

LinkedIn

관련 문장 - Python Function