Home >Backend Development >Python Tutorial >What is a python return function? (Example analysis)

What is a python return function? (Example analysis)

乌拉乌拉~
乌拉乌拉~Original
2018-08-22 16:17:451726browse

In the following article, we will learn about what is the return function in python. Learn about the relevant knowledge about Python's return function. Well, without further ado, let's get into the following article.

Python function as return value:

In addition to accepting functions as parameters, higher-order functions can also return functions as result values.

Let’s implement the summation of a variable parameter. Normally, the summation function is defined like this:

def calc_sum(*args):
    ax = 0
    for n in args:
        ax = ax + n    return ax

However, what if the sum does not need to be summed immediately, but is calculated as needed in the subsequent code? Instead of returning the summation result, you can return the summation function:

def lazy_sum(*args):
    def sum():
        ax = 0
        for n in args:
            ax = ax + n        return ax    return sum

When we call lazy_sum(), what is returned is not the summation result, but the summation function:

>>> f = lazy_sum(1, 3, 5, 7, 9)
>>> f
<function lazy_sum.<locals>.sum at 0x101c6ed90>

The result of the sum is actually calculated when function f is called:

>>> f()25

In this example, we define the function sum in the function lazy_sum, and the internal function sum can refer to the parameters of the external function lazy_sum and local variables. When lazy_sum returns the function sum, the relevant parameters and variables are saved in the returned function. This program structure called "Closure" has great power.

Please note one more thing, when we call lazy_sum(), each call will return a new function, even if the same parameters are passed in:

>>> f1 = lazy_sum(1, 3, 5, 7, 9)
>>> f2 = lazy_sum(1, 3, 5, 7, 9)
>>> f1==f2False

f1() and f2() The results of the calls do not affect each other.

The above is all the content described in this article. This article mainly introduces the knowledge related to the return function in python. I hope you can use the information to understand the above content. . I hope what I have described in this article will be helpful to you and make it easier for you to learn python.

For more related knowledge, please visit the Python tutorial column on the php Chinese website.

The above is the detailed content of What is a python return function? (Example analysis). For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn