Python의 일급 함수
일급 함수는 언어에서 개체 또는 변수로 취급되는 함수입니다. 변수에 할당하거나 다른 함수에 개체로 전달할 수 있습니다.
Python은 일급 함수를 지원합니다.
Python의 일급 함수 속성
- 개체 유형의 인스턴스입니다.
- 변수에 할당할 수 있습니다.
- 다른 함수의 인수로 전달할 수 있습니다.
- 함수를 반환할 수 있습니다.
- 해시 테이블, 목록 및 기타 데이터 구조에 저장할 수 있습니다.
파이썬의 퍼스트 클래스 함수의 예
개체로서의 기능
다음 코드에서 함수 square()
를 변수 my_sq
에 할당했습니다. 이제 my_sq
는 square()
와 동일합니다.
변수에 할당하는 동안 이름을 작성할 때 함수를 호출하지 않았습니다. 실제 함수를 가리키는 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
개체에 저장했습니다. 이제 sq
는 square()
메서드를 나타냅니다.
마지막으로 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
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