【Python入門】関数の書き方を初心者向けに完全解説!基本から応用まで

Pythonプログラミングにおいて、関数は最も重要な概念の一つです。関数を使うことで、コードの再利用性が高まり、保守性も向上します。この記事では、Python初心者の方に向けて、関数の基本的な書き方から実践的な使い方まで、わかりやすく解説します。

関数とは?

関数とは、特定の処理をまとめて名前を付けたもので、必要なときに呼び出して使用できる仕組みです。料理で言えば「レシピ」のようなもので、一度作れば何度でも使い回すことができます。

関数を使うメリット

  • コードの再利用: 同じ処理を何度も書く必要がない
  • 保守性の向上: 修正が必要な場合、関数内だけを変更すればよい
  • 可読性の向上: プログラムの構造が分かりやすくなる

基本的な関数の書き方

1. 最もシンプルな関数

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

# 関数を呼び出す
greet()

2. 引数を受け取る関数

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

greet_name("田中")

3. 戻り値のある関数

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

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

関数定義の基本構文

def 関数名(引数1, 引数2, ...):
    """
    ドキュメント文字列(省略可能)
    """
    処理内容
    return 戻り値  # 省略可能

構文のポイント

  • defキーワードで関数定義を開始
  • 関数名は小文字とアンダースコアを使用(snake_case)
  • コロン(:)で定義行を終了
  • インデント(4スペース)で処理内容を記述

引数の種類と使い方

1. 位置引数

def introduce(name, age):
    print(f"私は{name}、{age}歳です")

introduce("山田", 25)

2. キーワード引数

def introduce(name, age):
    print(f"私は{name}、{age}歳です")

introduce(age=30, name="佐藤")

3. デフォルト引数

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

greet("田中")  # こんにちは、田中さん!
greet("鈴木", "おはよう")  # おはよう、鈴木さん!

戻り値の活用

1. 単一の値を返す

def square(x):
    return x * x

result = square(4)
print(result)  # 16

2. 複数の値を返す

def calc(a, b):
    return a + b, a - b

sum_result, diff_result = calc(10, 3)
print(sum_result, diff_result)  # 13 7

実践的な関数の例

1. 消費税計算関数

def calc_tax(price, tax_rate=0.1):
    return int(price * (1 + tax_rate))

print(calc_tax(1000))  # 1100

2. リストの最大値を求める関数

def find_max(numbers):
    if not numbers:
        return None
    return max(numbers)

nums = [3, 1, 4, 1, 5]
print(find_max(nums))  # 5

3. 文字列の文字数カウント関数

def count_chars(text):
    return len(text.replace(" ", ""))

print(count_chars("Hello World"))  # 10

よくある間違いと注意点

1. インデントエラー

# ❌ 間違い
def greet():
print("Hello")  # インデントがない

# ✅ 正解
def greet():
    print("Hello")  # 4スペースのインデント

2. return文の位置

# ❌ 間違い
def add(a, b):
    return a + b
    print("計算完了")  # この行は実行されない

# ✅ 正解
def add(a, b):
    result = a + b
    print("計算完了")
    return result

スコープ(変数の有効範囲)

ローカル変数とグローバル変数

x = 10  # グローバル変数

def test():
    x = 20  # ローカル変数
    print(f"関数内: {x}")

test()  # 関数内: 20
print(f"関数外: {x}")  # 関数外: 10

まとめ

Python関数の基本的な書き方をマスターすることで、より効率的で読みやすいプログラムを作成できます。以下のポイントを押さえて、実際にコードを書いて練習してみましょう。

重要なポイント

  • 関数はdefキーワードで定義する
  • 引数と戻り値を効果的に使い分ける
  • 適切な関数名を付けて可読性を高める
  • インデントに注意してコードを書く

関数をマスターすることで、Pythonプログラミングのスキルが大幅に向上します。まずは簡単な関数から始めて、徐々に複雑な処理にチャレンジしてみてください!

らくらくPython塾 – 読むだけでマスター

■プロンプトだけでオリジナルアプリを開発・公開してみた!!

■AI時代の第一歩!「AI駆動開発コース」はじめました!

テックジム東京本校で先行開始。

■テックジム東京本校

「武田塾」のプログラミング版といえば「テックジム」。
講義動画なし、教科書なし。「進捗管理とコーチング」で効率学習。
より早く、より安く、しかも対面型のプログラミングスクールです。

<短期講習>5日で5万円の「Pythonミニキャンプ」開催中。

<月1開催>放送作家による映像ディレクター養成講座

<オンライン無料>ゼロから始めるPython爆速講座