Python・R・エクセルによるデータサイエンス | 統計解析講義

Pythonにおける関数の利用【Python・R・エクセル統計解析】 | 統計解析 - Python・R・エクセルを使った講義で最速マスター

Pythonにおける関数の利用【Python・R・エクセル統計解析】

Pythonにおける関数の利用【Python・R・エクセル統計解析】


Pythonにおける関数の利用【Python・R・エクセル統計解析】

Pythonにおける関数の利用

 

関数定義と呼び出し

 

関数は、繰り返し使う処理をあらかじめ定義しておくために利用します。

 

Defに続けて関数名と括弧を記述します。関数として実行するプログラムはインデントして記述します。

 

関数定義の例

 

def a_function (arg1, arg2) :

 

“””2つの数値をかけ算して返す”””

 

return arg1*arg2

 

def文のすぐ下にある文字列はドキュメンテーション文字列と呼ばれています。

 

Pythonには、関数の説明をドキュメンテーション文字列に書いておく、という決め事があります。

 

Pythonでは、関数は呼び出し可能オブジェクトとも呼ばれています。

 

Pythonで関数を定義すると、関数として呼び出すことができる「変数のようなもの(=オブジェクト)が作られます。

 

事前に定義されていない変数を使うとエラーになります。

 

関数を利用するプログラムの前で、関数定義をしておく必要があります。

 

Pythonでは、関数は変数と同様に扱われます。したがって、別の変数に関数を代入することもできます。

 

引数の定義

 

関数にデータを渡して処理をしたいときには、関数に引数を定義しておきます。

 

先ほどの例では「arg1」と「arg2」が引数に当たります。

 

「arg1=10」のように、引数名に代入するような記述をすると、引数のデフォルト値を指定できます。

 

デフォルト値が設定された引数は、呼び出し時に省略することができます。

 

 *paramのように、アスタリスク(*)を使った引数は特殊な意味を持ちます。

 

定義されている数以上の引数を渡して関数を呼び出すと、あふれた引数がリストとしてparam引数に入って呼び出されます。

 

引数の数を指定しない関数を作りたいときに利用すると便利です。

 

**argsのようにアスタリスクを2つ付けた引数を定義することもできます。

 

このような引数を定義すると、関数は不定個のキーワード引数を受け取れるようになります。

 

argsには辞書が渡されます。

 

関数内では、キーワード引数の引数名のキーに、値が登録された状態で利用できます。

 

関数の戻り値とアンパック代入

 

関数の外部に処理結果を渡したいときにはreturn文を使います。

 

Pythonのreturn文には括弧を添える必要はありません。

 

関数の外に受け渡したいデータをそのまま記述します。先ほどの例ではarg1とarg2をかけ算した値を戻り値としています。

 

Pythonでは、複数のデータを一度に戻り値として返すことができます。

 

「return a, b, c」のように複数の値をカンマで区切るか、タプルを返します。

 

関数を呼び出す側では「a, b, c,=somefunc()」のように複数の値を受け取ることができます。

 

タプルを自動的に展開して代入することから、これをアンバック代入と呼んでいます。

 

関数と名前空間

 

Pythonでは代入を行うことで変数を定義します。

 

変数は、どこで定義されたかによって利用範囲が制限されます。

 

Pythonの関数内では、特別な名前空間(Name Space)が作られます。

 

関数内で定義された変数は、この名前空間の中だけで利用できます。

 

関数で定義した変数を外部で利用することはできません。

 

引数も、関数内で定義された変数と同じような扱いを受けます。

 

関数の処理結果を外部で利用したいときには、戻り値として関数の外部に値を受け渡します。

 

関数の呼び出し

 

事前に定義された関数は、次のようにして呼び出せます。

 

 a_function (1, 2)

 

関数が戻り値を返すようになっている場合は、戻り値を変数に代入したり、計算など別の処理に利用できます。

 

戻り値がない場合はNoneという特別な値が返されます。

 

引数の指定方法には2つの方法があります。

 

上記のように直接値を指定する方法が1つ。そして、次のように変数名をキーワード指定する方法です。

 

 a_function (arg1=1, arg2=2>

 

キーワード指定をすると、定義順に関係なく、引数を指定できます。

セミナー詳細こちら                    解析ご相談こちら


 

Pythonにおける関数の利用【Python・R・エクセル統計解析】

Pythonにおける関数の利用【Python・R・エクセル統計解析】

Pythonにおける関数の利用【Python・R・エクセル統計解析】