今回は関数の呼び出しではなく、自分で「関数名」や「実行する処理」を決めてオリジナルの関数を作ってみましょう。
関数を自分で作ることの意義とは?
(効率化)
プログラム内に同じ処理を繰り返し書かずにすむ
(プログラム構造理解向上)
自分で実行する処理や、手順を考えることでプログラム構造の理解がすすむ
うーん、、、ぼんやりとして分かりづらいですね。
では、さっそくオリジナル関数を作ってみましょう。
オリジナル関数の作り方
関数を作ることを関数を「定義する」といいます。
「定義する」という響きがなんともカッコイイ( ・`ω・´)笑
関数の定義には「def」(デフ)というキーワードを使います。
※「def」は「定義する」を意味する「define」を略したもの
関数を定義する構文
def_関数名( ) :
____関数内で実行する処理
ポイント
①defと関数名の間は半角スペース(_部分)
②関数名の後ろにカッコを付けて、その関数が使う引数の名前を書きます、引数を使う必要がない場合はカッコのみ書く(_部分)
③コロン(:)を忘れずに(_部分)
④関数内で実行する処理は、1段落インデントして書く(_部分)
具体例
実際に具体例をみていきましょう。
ここでは簡単な例として、
「HELLO!」とあいさつをするgreet()関数を作成します。
引数なしのパターンと引数ありのパターンを示します。
引数なしのパターン
実行すると、
何も表示されません(*_*;
今の状態ではオリジナル関数を定義しただけであり、
呼び出し操作が必要になります。
定義した関数の呼び出し方は、print()関数などの組み込み関数と同じです。
呼び出し操作も加えて書き直したものが下記。
IDELを用いて実行すると、
今度はきちんと表示されました!
引数ありのパターン
greet()関数に引数「name」を指定して、
HELLO!+(名前)を表示するプログラムを作成します。
今回は「name」= NEKOPPY で書いていきます。
IDELを用いて表示すると、
Q練習問題
複数の引数を指定する場合を考えてみましょう。
問題文
あるサービスの請求金額を「佐藤」「鈴木」「山田」の3名宛に通知したい。
defを使って、関数を定義してテンプレートを作成し、
3名分のテンプレート本文が表示されるようなプログラムを書け。
請求金額は、
佐藤・・・1000円
鈴木・・・2000円
山田・・・3000円
とする。
※テンプレート文の内容は日本語としておかしくなくればなんでも可。
テンプレート文例
〇〇様
今月の利用金額は〇〇円です。
よろしくお願いいたします。
ヒント
formatメソッド
解答例
解答例一覧ページへ
※本サイト内
まとめ
オリジナル関数の定義の方法を確認しました。
自分で関数を定義することで、プログラムの構造がよく理解できるようになり一層理解が深まると思います。
様々なオリジナル関数を作成してみてください。
コメント