関数(function)



関数(def)


「Python」の関数は、「def」文を使用して関数を定義する。
関数内のスクリプトは、インデントの幅が同じのものが、関数内のスクリプトと判断される。
「return」は関数の戻り値を指定する。
「return」文を省略すると、関数は「None」を返す。
関数の引数(キーワード)を利用して、関数内に値を渡すことができる。
リスト・タプル・辞書を引数として渡すには、「*」を先頭に付ける必要があり、「*リスト名」「*タプル名」「**辞書名」という形で引数に記述する必要がある。
関数の冒頭に、「"""..."""」(ドキュメントストリング)を記述可能。
関数の外部で定義された変数は グローバル変数。
関数内で、グローバル変数は参照可能だが、代入は不可。代入する場合は、「globalグローバル変数名」と記述して代入する。



関数の書式


def 関数名(引数,引数,・・・・):
関数のプログラミングコード
関数のプログラミングコード
関数のプログラミングコード
関数のプログラミングコード
return 返り値(変数・値)



ラムダ式(lambda)


「ラムダ式(lambda)式」は、「名前のない小さな関数」をいい、「ラムダ式」自体は式として扱われる。
式として扱われるので、関数の引数に指定することも可能。
lambda式は、「sorted()」「map()」「filter()」などの関数に渡す無名関数として利用される。

「ラムダ式(lambda)式」関数の書式
ラムダ式関数名 = lambda 引数1, 引数2: 引数1 + 引数2 print ラムダ式関数名(3, 5) #=> 8



イテレータ(iterator)


「イテレータ」は 、for文のような繰り返し機能を持つオブジェクト。



ジェネレータ(yield)


「ジェネレータ(yield)」は、イテレータを返却するジェネレータを定義する。



デコレータ(@)


「デコレータ(@)」は、関数を実行する前後に特殊な処理を実行したい場合に使用する。
関数のようにデコレータを作成し、デコレータが呼び出された場合、その呼び出した関数が、どの位置で実行されるかも指定できる。


デコレータの書式
def デコレータ名(func):
def wrapper():
呼び出された関数の前に実行される処理
func() # デコレータを呼び出した関数を実行。
関数が終了後に実行される処理
return wrapper


@デコレータ名
def 関数名():
関数の実行処理