ホームページ >バックエンド開発 >Python チュートリアル >Python は戻り関数のインスタンス解析をサポートしています
この記事では主に 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 サイトの他の関連記事を参照してください。