こんにちは、まゆみです。
前回の記事では、Pandasライブラリーを使ってSeries にしたデータにmethod(メソッド)を使う例を書かせていただきました。
Pythonを勉強された方なら method(メソッド) や関数は引数を取ることができることを知っていると思います。
引数とか、パラメーターとか相互に交換可能の用語のように使われているけど意味は同じなの??
今回の記事では、あの()のなかに入れるやつの正体(引数なのかパラメーターなのか)を語っていきます
今回の記事では
- パラメーターと引数の違いについて
- 位置指定引数とキーワード引数の違いについて
を書いていこうと思います
ではさっそく始めていきますね
パラメーターと引数の違いを関数を用いて説明します
例えば上記の関数が消費税を計算するものだったとします
『a』には商品の価格が入ります。
関数を呼び出す時 (a) の部分は色んな数字が入りますよね。
a 自体が表す値は変化するものなのです。
100円の消費税を計算するときは
a には100が入りますし
150円の消費税を計算するときは
150が入ります
その時a に実際に代入する100や150のことを引数と言い
a 自体をパラメーターと言います
パラメーターは物差しのようなもので、引数は実際にその物差しで測った数値そのものとも言えると思います。
パラメーターは『測る基準』で引数は『その値』です。
例えば、下記のようなパラメーターと引数をもつ関数を作った事もあるのではないでしょうか?
パラメーター | 引数 |
---|---|
ゲームのレベル | 1~10 |
音のボリューム | 大・中・小 |
体重 | 1~150(?) |
#位置指定引数(positional argument)とキーワード引数(keyword argument)について
次に
位置指定引数
キーワード引数
について説明していきます
上記の関数を用いて説明します。
位置指定引数とは
1番目に書かれたパラメーターの引数は必ず1番目に書き
2番目に書かれたパラメーターの引数は2番目に書く
と言ったように書く順番が極めて大事になります
上記の関数の例で言いますと、2つの関数の呼び出し結果は変わるか、もしくは場合によってはエラーが出ます。
なぜならば、2つ目の関数の呼び出しでは "female"が "name" で、"Mayumi" が"gender" と認識されてしまうからです。
##キーワード引数とは?
上記の関数を用いて説明します。
パラメーターにname とgender を取ることが明示されていて、かつ、関数を呼び出す時に
name = ○○
gender = ○○
と明示して書けば、それぞれの引数を書く順番が逆になろうが、同じ実行結果になります。
このように、キーワードを明示して書く引数を
キーワード引数
と言います。
#Pandas のSeries のパラメーターはどうなっているの?
では話をpandasに戻しますね。
PandasのSeries がどのようなパラメーターを取れるのか見てみましょう
Shift + Tab
で下記のようにドキュメントの抜粋を見ることができます
pandas のSeries はパラメーターに『data』『index』『dtype』... などが使えるようです。
##実際の実行結果
###位置指定引数
ドキュメントではSeries は data, index....という順番で書かれているので、何も明示せずにSeriesを呼び出してみます(呼び出す時の引数を書く順番は重要)
2番目に書いた引数がindex に、1番目に書いた引数がdata として認識されています
###キーワード引数
では、次にパラメーターを明示して書くキーワード引数でSeries を呼び出してみます。
キーワード引数では書く順番は重要ではなく、キーワードを明示する事が重要でしたよね。
ですので、あえてドキュメントで説明されているのとは逆の順番で、
①index
②data
の順番で呼び出してみました。
data の引数の値は○○ (data= ○○)
index の引数の値は○○ (index = ○○)
と明示して書くので
data を先に書こうが、index を先に書こうが実行結果は同じになります
#まとめ
今回の記事では、Pandasだけに限らずPythonでコードを書く時にも大事になることを書かせていただきました。
次回の記事では、またPandas に特化した内容を書かせていただきます!