Python 関数定義

関数は定められた処理を実行して結果を返すもので、ユーザーが独自の関数を定義することもできる。

関数定義の基本

関数はdef文を使って定義する。defキーワードの後に関数名、それに続けて( )の中に引数を書く。引数が複数ある場合は,で区切って記述する。引数が不要な関数を定義する場合は( )の中に何も書かないでおく。関数の処理ブロックでは、引数を普通の変数と同じように使うことができる。

スクリーンショット 2020-06-08 14.15.15

関数を呼び出すときに関数に渡す値を実引数、関数内で値を受け取る変数のことを仮引数と呼んで区別する。関数に渡した実引数が順番通りに対応する位置の仮引数に代入される。このように対応する位置の仮引数に渡される値を位置引数と呼ぶ。

また、仮引数を明示して値を渡すこともでき、この仮引数名を指定して渡される値をキーワード引数と呼ぶ。

スクリーンショット 2020-06-08 14.15.48

仮引数には値が指定されなかった場合に使用されるデフォルト値を設定できる。

スクリーンショット 2020-06-08 14.16.22

ドキュメンテーション文字列

関数定義のブロックの先頭に記述された文字列は、関数を説明するドキュメントになる。この文字列はドキュメンテーション文字列やdocstringと呼ばれる。ドキュメンテーション文字列は"""で書くことが推奨される。

Pythonではhelp関数を用いてオブジェクトの持つドキュメンテーション文字列を表示させることができる。関数やメソッドの使い方が知りたくなったときにはhelp関数を使用する。

スクリーンショット 2020-06-08 14.17.08

デコレータ

デコレータは関数を引数として受け取り、他の関数を返す関数である。デコレータは関数の機能を分割し、コードの見通しをよくしたい場合に役立つ。

スクリーンショット 2020-06-08 14.17.54

lambda式

関数を定義するにはlambda式を使う方法もある。lambda式で作った関数オブジェクトは名前を付けなくとも利用できるので、無名関数とも呼ばれる。lambdaの後に仮引数を指定し、続く:の後に関数の処理となる式を書く。式の評価結果が関数の返り値となる。

スクリーンショット 2020-06-08 14.18.58


この記事が気に入ったらサポートをしてみませんか?