Python入門 #5 - 関数の基本

入門 | 12分 で読める | 2026.07.12

公式ドキュメント

今回やること

関数は、処理に名前を付けて再利用するための仕組みです。

同じ処理を何度も書きそうになったら、関数にできないか考えるとコードが読みやすくなります。

今回は、def、引数、戻り値、型ヒントを練習します。

関数を定義する

Pythonでは def で関数を作ります。

def greet():
    print("こんにちは")

greet()

def greet(): の下に、関数の中で実行する処理をインデントして書きます。

引数を使う

関数に値を渡すには、引数を使います。

def greet(name):
    print(f"{name}さん、こんにちは")

greet("Ada")
greet("Taro")

引数を使うと、同じ処理を値だけ変えて使い回せます。

戻り値を使う

return を使うと、関数の結果を呼び出し元へ返せます。

def add(a, b):
    return a + b

result = add(3, 5)
print(result)

print は画面に表示する処理、return は結果を返す処理です。

型ヒントを書く

Pythonでは型ヒントを書けます。

def add(a: int, b: int) -> int:
    return a + b

def create_message(name: str, age: int) -> str:
    return f"{name}さんは{age}歳です"

型ヒントは実行時に自動で型を強制するものではありませんが、エディタの補完や読みやすさに役立ちます。

小さな関数に分ける

学習時間を分から時間表記に変換します。

def minutes_to_hours(minutes: int) -> float:
    return minutes / 60

def create_study_message(subject: str, minutes: int) -> str:
    hours = minutes_to_hours(minutes)
    return f"{subject}{hours}時間学習しました"

message = create_study_message("Python", 90)
print(message)

関数を分けると、どの処理が何を担当しているか分かりやすくなります。

よくあるエラー

エラー原因修正
NameError関数名を間違えた、定義前に呼んだ関数名と位置を確認
TypeError引数の数が違う定義と呼び出しを比べる
IndentationError関数内のインデントがないdef の中を字下げ
None が表示されるreturn を書いていない結果を返すなら return

練習

次の関数を作ってください。

  1. 名前を受け取り、挨拶文を返す create_greeting
  2. 点数を受け取り、合格かどうかを返す is_passed
  3. 分数を受け取り、時間に変換する minutes_to_hours
  4. 学習テーマと分数を受け取り、学習記録文を返す create_study_log
  5. それぞれに型ヒントを書く

次のステップ

PythonでWeb APIに進みたい場合は FastAPI入門 が次の候補です。文法を素早く確認したい場合は Pythonチートシート を使ってください。

参考リソース

← 一覧に戻る
PR
PR
PR
PR