>  기사  >  백엔드 개발  >  Python은 반환 함수의 인스턴스 구문 분석을 지원합니다.

Python은 반환 함수의 인스턴스 구문 분석을 지원합니다.

零到壹度
零到壹度원래의
2018-04-03 10:47:051683검색

이 글은 주로 Python의 반환 함수 지원에 대한 예제 분석을 소개합니다. 편집자는 이것이 꽤 좋다고 생각합니다. 이제 여러분과 공유하고 참고용으로 제공하겠습니다. 에디터 따라가서 살펴볼까요

요즘 파이썬을 접하면서 파이썬에서 함수를 반환한다는 개념을 접했습니다. 예를 들어 파이썬은 int, str을 반환할 수 있습니다. , list, dict 및 기타 유형의 데이터 여기서 제가 말하고 싶은 것은 Python도 반환 기능을 지원한다는 것입니다.

먼저 함수 반환을 지원하는 Python의 기본 구문을 살펴보겠습니다

def f():
    print 'call f()...'
    # 定义函数g:
    def g():
        print 'call g()...'
    # 返回函数g:
    return g

여기서 가장 바깥쪽 함수 f는 함수 g 자체인 함수 g를 반환합니다.
함수의 과정을 살펴보겠습니다. 호출(위에서 계속)

>>> x = f()   # 调用f()call f()...>>> x   # 变量x就是上面一个最外层函数返回的函数(不是函数值)<function g at 0x1037bf320>
>>> x()   # x指向函数,因此可以调用,这里就是调用内层函数x()的过程call g()...   # 调用x()就是执行g()函数定义的代码
  • 함수 반환의 역할만:
    함수 반환은 일부 계산 실행을 지연시킬 수 있습니다. 예를 들어, 일반적인 합산 함수를 정의하면:

def calc_sum(lst):
    return sum(lst)
>>>calc_sum([1,2,3,4])

결과는 바로: 10

그러나 함수 아이디어를 반환하여 코드를 작성할 수 있으며 "계산을 지연"할 수 있습니다.

def calc_sum(lst):
    def lazy_sum():
        return sum(lst)    return lazy_sum

다음은 호출:
참고, 다음 코드는 함수를 실행하고 결과를 계산하지 않지만 함수를 반환합니다.

>>> f = calc_sum([1, 2, 3, 4])
>>> f
<function lazy_sum at 0x1037bfaa0>

반환된 함수를 호출할 때만 결과가 계산됩니다

>>>f()10

다음은 예시입니다.
목록을 받아 함수를 반환하는 calc_prod(lst) 함수를 작성하세요. 반환된 함수는 의 곱을 계산할 수 있습니다. 매개변수.
아이디어: 먼저 곱을 계산할 수 있는 함수를 정의한 다음 이 함수를 반환합니다. 함수 반환값의 여러 상황에 대하여

위 내용은 Python은 반환 함수의 인스턴스 구문 분석을 지원합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.