まずはこちらをクリック!

Pythonの基礎(関数)

サバくん
サバくん

ある複数の処理をまとめて使いたい時があると思います。そんな時便利なのは関数です。

関数

関数とはいくつかの処理をひとまとめにしたものです。ひとまとめにすることで何回も同じコードを記述しないでもよくなりますし、プログラムの解釈もしやすくなります。

例えば、「ペットボトルの水を飲む」といった指令を出す際にいちいち「ペットボトルの蓋を開ける」→「ペットボトルを口に運ぶ」→「水を飲み込む」といった細かい処理で指令すると解釈しにくいですよね?

「ペットボトルの蓋を開ける」→「ペットボトルを口に運ぶ」→「水を飲み込む」という複数の処理をひとまとめにすることで解釈がしやすくなるのに似ています(系列動作にも似てますね)

関数の全体的な構造は以下の図に示すとおり、

  1. 引数を受け取り、
  2. 関数でまとめた処理を行ったのち
  3. 結果(戻り値)を返します。

ちなみに引数や戻り値を省略することも可能です。

関数の作り方

関数の形は


def 関数名(引数1, 引数2, …):

␣␣␣␣・・・


となっており、複数の処理を関数名でまとめることができます。実際に関数を記述したものが下のコードです。

def func1():
    ans = 1+2
    print(ans)

func1()
# 3

func1という関数の中で

  1. 1+2をansという変数に格納する処理
  2. ansを出力する処理

をまとめています。

戻り値

関数にreturnを加えることで結果を返すことができます。この返ってくる結果のことを戻り値ともいいます。

def func2():
    ans = 1+2
    return ans

print(func2())
print(func2()+2)
# 3
# 5

func2という関数の中では

  1. 1+2をansという変数に格納する処理
  2. ansを戻り値とする処理

がまとめられています。なのでfunc2()+2を行うと3+2=5なので5と出力されます。

引数

関数に渡す値を引数と言います。引数を渡すと関数ないでその値を使用することができます。

def func3(a, b):
    ans = a+b
    return ans

print(func3(1, 3))
print(func2(a=1, b=6))

# 4
# 7

また引数は初期値を設定することもできます。

def func4(a=1, b=2):
    ans = a+b
    return ans

print(func4())
print(func4(1, 3))
print(func4(a=1, b=6))

# 3
# 4
# 7
メモを残すと便利

関数を多く作っているとどのような引数を入れてどのような返り値を返すのか分からなくなります。
関数を作成したときに””” “””で囲んでメモを残すことで ?関数名を実行すればどんな関数かを思い出すことができます。「関数の概要」「引数について」「返り値について」の3点は書いておくと便利。

例題

def bmi(h, w):
    return w/(h/100)**2
def bmiclass(bmi):
    if bmi < 18.5:
        k = "低体重"
    elif bmi < 25:
        k = "普通体重"
    elif bmi < 30:
        k = "肥満(1度)"
    elif bmi < 35:
        k = "肥満(2度)"
    elif bmi < 40:
        k = "肥満(3度)"
    else:
        k = "肥満(4度)"

    print(f"あなたは{k}です。")

条件の分岐(if文)や比較の方法(比較演算子)を忘れてた人は以下の記事を参考にしてください

Pythonの基本文法(条件分岐, if, else, elif) Pythonで比較演算子と論理演算子を使ってみよう

脱Python初心者ロードマップ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA