다음 글에서는 파이썬의 반환 함수가 무엇인지 알아보겠습니다. Python의 반환 기능에 대한 관련 지식에 대해 알아보십시오. 더 이상 고민하지 말고 다음 기사를 살펴보겠습니다.
Python 함수를 반환 값으로:
함수를 매개 변수로 허용하는 것 외에도 고차 함수는 함수를 결과 값으로 반환할 수도 있습니다.
변수 매개변수의 합을 구현해 보겠습니다. 일반적으로 합산 함수는 다음과 같이 정의됩니다.
def calc_sum(*args): ax = 0 for n in args: ax = ax + n return ax
그런데 합을 바로 계산할 필요는 없지만 후속 코드에서 필요에 따라 계산하면 어떻게 될까요? 합산 결과를 반환하는 대신 합산 함수를 반환할 수 있습니다:
def lazy_sum(*args): def sum(): ax = 0 for n in args: ax = ax + n return ax return sum
lazy_sum()을 호출할 때 반환되는 것은 합산 결과가 아니라 합산 함수입니다:
>>> f = lazy_sum(1, 3, 5, 7, 9) >>> f <function lazy_sum.<locals>.sum at 0x101c6ed90>
함수 f를 호출할 때, 실제 합계 계산:
>>> f()25
이 예에서는 함수 sum을lazy_sum에 정의하고, 내부 함수 sum은 외부 함수lazy_sum의 매개 변수 및 지역 변수를 참조할 수 있습니다. 반환된 함수에 매개변수와 변수가 저장되는 '클로저(Closure)'라는 프로그램 구조는 대단한 위력을 갖고 있다.
lazy_sum()을 호출할 때 한 가지 더 알아두세요. 동일한 매개변수가 전달되더라도 각 호출은 새 함수를 반환합니다.
>>> f1 = lazy_sum(1, 3, 5, 7, 9) >>> f2 = lazy_sum(1, 3, 5, 7, 9) >>> f1==f2False
f1() 및 f2()의 호출 결과는 각각에 영향을 미치지 않습니다. 다른.
위 내용은 이 글에 설명된 내용이 전부입니다. 이 글은 python의 반환 기능과 관련된 지식을 주로 소개하는 내용입니다. 위 내용을 이해하는 데 참고하시기 바랍니다. 이 글에서 제가 설명한 내용이 여러분에게 도움이 되고 파이썬을 더 쉽게 배울 수 있기를 바랍니다.
더 많은 관련 지식을 알고 싶으시면 PHP 중국어 홈페이지의 Python tutorial 칼럼을 방문해 주세요.
위 내용은 파이썬 반환 함수란 무엇입니까? (예시분석)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!