スキルUPの道しるべ

本サイトはプロモーションを含みます
上に戻る

【Python】def文とは?コード例付きでわかりやすく解説!(初心者向け)

Pythonのdef文は、関数を定義するための重要な要素です。

そこで、この記事では、そもそもの話、「def とは何か、どう使えば良いのか」から始め、Pythonのdef文の使い方を詳しく解説します。
また、具体的なコード例とその実行結果も載せ、初心者の方でも理解しやすいように工夫しています。

Pythonのdef文とは?

Pythonのdef文は、関数を定義するためのキーワードです。
関数は、一連の処理をまとめて名前を付けて再利用可能にするためのものです。
def文を使うことで、同じ処理を何度も書く必要がなくなり、コードの可読性や保守性が向上します。

基本構文

def文の基本的な構文は以下の通りです。

def 関数名(引数1, 引数2, ...):
    処理内容
    return 戻り値

ちなみに、それぞれの意味は以下のとおりです。

・ 関数名: 定義する関数の名前です。
・ 引数: 関数に渡す値です。任意の数の引数を指定できます。
・ 処理内容: 関数が行うべき処理です。
・ return文: 関数の実行結果を返すためのキーワードです。戻り値がない場合は省略可能です。

コード例1: 簡単な関数の定義

以下の例では、引数を受け取り、その引数を出力するだけの簡単な関数を定義しています。

def greet(name):
    print("Hello, " + name + "!")

ただし、これだけでは意味がありません。
続きを作成して、以下のようにしてみましょう。

# 関数の定義
def greet(name):
    print("Hello, " + name + "!")

# 関数の呼び出し
greet("Taro")
# 出力: Hello, Taro!

そうすると、確かに『Hello, Taro!』と出力されます。
『"Taro"』を書き換えても問題ないか試してみましょう。

コード例2: 計算を行う関数の定義

次の例では、2つの引数を受け取り、その和を返す関数を定義しています。

def add(x, y):
    return x + y

この関数を使って、2つの数値の和を計算できます。
続きを作成して、以下のようにしてみましょう。

# 関数の定義
def add(x, y):
    return x + y

# 関数の呼び出し
result = add(3, 5)
print(result)
# 出力: 8

そうすると、確かに『8』と出力されます。
『add(3, 5)』を書き換えても問題ないか試してみましょう。

コード例3: 再帰関数の定義

再帰関数は、自分自身を呼び出す関数のことです。
以下は、階乗を計算する再帰関数の例です。

def factorial(n):
    if n == 0:
        return 1
    else:
        return n * factorial(n - 1)

この関数を使って、階乗を計算できます。
続きを作成して、以下のようにしてみましょう。

# 関数の定義
def factorial(n):
    if n == 0:
        return 1
    else:
        return n * factorial(n - 1)

# 関数の呼び出し
result = factorial(5)
print(result)
# 出力: 120

5の階乗ですから、120です。出力も確かに『120』となります。
『factorial(5)』を書き換えても問題ないか試してみましょう。


★次にdef文の書き方の詳細を学びましょう!次の記事はこちら:
torus07.hatenablog.com

おすすめ書籍

Pythonプログラミングを手を動かしながら学びたい方に、『独習Python』がおすすめです。
この書籍は、プログラミング初心者向けにわかりやすく丁寧に解説がされており、独習用に使用することができます。
Pythonの基本から標準ライブラリ、オブジェクト指向構文、モジュールまで幅広く解説されており、サンプルプログラムを例示しながら丁寧に説明されています。
初心者から再入門者、学生など、Python言語をしっかり身につけたい方にお勧めの一冊です。

まとめ

以上、Pythonのdef文の基本的な使い方と具体的なコード例を紹介しました。
def文を使うことで、複雑な処理をまとめて管理しやすくなります。
是非、自分で関数を定義してみて、Pythonのプログラミングの楽しさを体験してみてください。

続きの記事に進みましょう>>>
torus07.hatenablog.com