レッスン1 / 4問目

『def - 関数の定義』

関数とは

このレッスンでは関数定義について学習します。

まずは関数についておさらいしましょう。
関数は何らかの値を受け取りその値に何らかの処理を加えた結果を返すものでした。
(引数や戻り値がない場合もあります。)

例えばstr関数であれば引数に受け取ったオブジェクトを文字列型に変換して返す関数です。print関数は受け取った引数を出力する関数です。そしてこれらにはprintやstrといった関数名が存在し、関数名を記述することで関数を呼び出していました。

つまり関数とは処理のまとまりに名前を付けたものであるといえます。

関数の定義

ここからは関数の定義について学習していきましょう。

これまでのレッスンで様々な関数を使ってきましたが、実は関数は自分で作ることができます。関数を定義するには以下のようにdefに続けて任意の関数名を宣言し、処理内容を関数内に記述します。

def 任意の関数名():     処理内容

ここで名付けた関数名によってその関数の処理を呼び出すことができます。

具体例

では関数定義の具体例を見ていきましょう。今回は簡単な例として「hello」と出力するsay_hello関数を作成します。

  1. def say_hello():    # defに続けて任意の関数名を定義
  2.     print("hello")    # 処理を内容

これで"hello"と出力する関数を定義することができました。このsay_hello関数を実行するには以下のように関数に続けて括弧を記述します。

  1. say_hello()    # 関数を呼び出す
hello    # "hello"と出力される

今回の例題は”hello"と出力するだけの単純な関数でしたが、これも一つの立派な関数です。今回のような簡単な処理をもう少し複雑にしたものが実用的に使われている関数となります。

なぜ関数を使うのか

ここでは関数の必要性についても説明します。

プログラムを書いていると同じようなコードを何度も記述しなければならない場面があります。
そんな時に何度も同じコードを記述するのは非常に手間となりますので、そのような時に関数で処理を定義しておくことで何度も同じコードを記述する手間を省くことができるというのが一番のメリットです。

さらにコードが短くなるためプログラムの可読性(見やすさ)が高まります。
また、処理を関数に定義しておくことでコードの変更が生じた際、関数のコードを一カ所を修正するだけで全ての個所を修正することができるため保守性も高まります。

上記のように関数は非常に便利な機能ですので頑張ってマスターしましょう。

現時点では関数の必要性については少し理解しづらい部分もあると思いますが、これらは実際にプログラムを書いていく中で徐々に理解することができるでしょう。

Lesson1

"おはようございます" という文字列を出力する関数を定義してください。関数が定義できたらその関数を呼び出す処理も記述してください。関数名は任意とします。

なお、関数を定義するうえでいくつか注意点があります。まず、if文やfor文のように行末のコロンと処理を記述する前のインデントが必要となります。また、関数名の後には丸括弧が必要である点にも注意しましょう。

Lesson2

次は"hello"と出力する関数を定義し、関数を呼び出す処理も記述してください。

Last updated:2019/12/17

おはようございます
hello
  1. # "おはようございます" という文字列を出力する関数を定義してください。

  2. def greet():
  3. print("おはようございます")

  4. greet()

  5. #"hello"という文字列を出力する関数を定義してください。

  6. def say_hello():
  7. print("hello")

  8. say_hello()
main.py
設定
g
n
i
d
a
o
L