【Python3】関数など

def文

関数を定義するには、def 文を使用します。
変数名に * を付けると残りの順序引数を受け取ることができ、
** を付けるとキーワード付き引数を辞書型で受け取ることができます。

キーワード付き引数を指定することもでき、
関数定義側で、デフォルトの値を指定することができます。

関数から戻り値を返却したい場合には、return 文で戻り値を指定します。
return 文は、複数の値を返却することもできます。

return 文を省略すると、関数は None を返します。

関数定義の冒頭には、"""…""" で ドキュメントストリングを記述することができます。

def add(x, y):
    print x + y

global

関数の中でグローバル変数を参照することはできますが、代入することはできないので、
代入したい場合には、関数内で使用する際に global を付けて宣言します。

globals() はグローバル変数、locals() はローカル変数の一覧を辞書として返却できます。

lambda

lambda は、名前のない小さな関数を定義できます。
ラムダ式自体は式として扱われるため、関数の引数に指定することができます。

iterator

iterator は for 文 で使用することができる繰り返し機能を持つオブジェクトです。
__iter__() で next() メソッドを持つオブジェクトを返却し、
next() メソッドは次の要素を返却できます。
繰り返しが最後までいくと StopIteration 例外を返却するようにします。

yield

イテレータを返却するジェネレータを定義する際に使用します。

デコレータ(@)

関数を実行する前後に特殊な処理を実行したい場合、@デコレータ を使用します。

Python3入門

Posted by 管理人