ホームページ  >  記事  >  バックエンド開発  >  Python は戻り関数のインスタンス解析をサポートしています

Python は戻り関数のインスタンス解析をサポートしています

零到壹度
零到壹度オリジナル
2018-04-03 10:47:051622ブラウズ

この記事では主に Python の return 関数のサポートの分析例を紹介します。これが非常に優れていると考えたので、参考として共有します。エディターをフォローして見てみましょう

私は最近 Python に触れるようになり、Python で関数を返すという概念を知りました。たとえば、Python は int や str を返すことができます。 、list、dict、およびその他のタイプのデータはここで私が言いたいのは、Python は return 関数もサポートしているということです。

まず、関数を返すことをサポートする 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。