Pythonの関数のサンプルです.

目次

  1. 関数の例
  2. ジェネレータ式・yield文

関数の例

def func(a=1,b=2):
"""概要
a,bを引数とした関数の例です。
引数を指定しなかった場合、デフォルト値としてそれぞれ1と2がとられます。
"""
return a + b
  • 可変長引数はfunc(*x)
  • 広域変数にするには関数内で変数に対してglobal宣言,defの入れ子で1つ上までの非局所変数にするにはnonlocal宣言

ジェネレータ式・yield文

内包表記[ f(x) for x in s ]の代わりに( f(x) for x in s )という形を使うと,値を一斉処理するのではなく,逐次処理する.

関数定義中でreturnの代わりにyieldで値を返すと,逐次的に値を返すことができる.
すなわち,関数のどこまで進行したかが保持される.
対してreturnだと,次に関数を呼び出したときに,関数は初期化されている.