Python|関数の定義と呼び出し方

1. はじめに

Pythonでプログラムを効率的に構築するためには「関数の定義と呼び出し方」を理解することが欠かせません。
関数は、繰り返し使う処理をまとめて管理できる便利な機能です。本記事では、Pythonにおける関数の定義と呼び出し方法について、初心者にもわかりやすく丁寧に解説します。

具体的なコード例と実行結果を交えながら、実務や学習に役立つ使い方も紹介しますので、ぜひ最後まで読んでください。

 

2. Pythonにおける関数の定義と呼び出し方

関数とは何か?

関数とは、一連の処理をまとめて名前を付けたものです。Pythonでは、defキーワードを使って関数を定義します。関数を定義しておくことで、同じ処理を何度でも呼び出して使えるようになります。

基本的な関数の定義と呼び出し方

以下は最もシンプルな関数の例です。

# 関数を定義する
def say_hello():
    print("こんにちは、Python!")

# 関数を呼び出す
say_hello()

実行結果:

こんにちは、Python!

引数を使った関数の定義

関数には「引数(パラメータ)」を渡すことができます。これにより、関数に与えるデータを柔軟に変えられます。

# 引数を受け取る関数
def greet(name):
    print("こんにちは、" + name + "さん!")

# 呼び出し時に名前を渡す
greet("さとし")

実行結果:

こんにちは、さとしさん!

戻り値を返す関数

関数は、処理結果を「戻り値」として返すこともできます。戻り値はreturn文で指定します。

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

result = add(5, 3)
print("計算結果:", result)

実行結果:

計算結果: 8

 

3. よくある使い方・応用例

複数の引数と複数の戻り値

Pythonでは、複数の引数や戻り値を扱うことも簡単です。

def calc_values(x, y):
    sum_val = x + y
    diff_val = x - y
    return sum_val, diff_val

a, b = calc_values(10, 3)
print("合計:", a)
print("差:", b)

実行結果:

合計: 13
差: 7

デフォルト引数を使う

引数にデフォルト値を設定すると、値を省略して関数を呼び出すことができます。

def greet(name="ゲスト"):
    print("こんにちは、" + name + "さん!")

greet()
greet("たろう")

実行結果:

こんにちは、ゲストさん!
こんにちは、たろうさん!

関数の中で関数を使う(ネスト関数)

関数の中に関数を定義することで、処理を階層的に整理することができます。

def outer():
    def inner():
        print("内側の関数です")
    print("外側の関数です")
    inner()

outer()

実行結果:

外側の関数です
内側の関数です

 

4. 関数の注意点・エラー対策

定義前の呼び出しはエラーになる

関数は、定義より前に呼び出すことはできません。次のコードはエラーになります。

say_hi()  # エラー!

def say_hi():
    print("やあ!")

実行結果:

NameError: name 'say_hi' is not defined

returnの使い忘れに注意

関数から値を返したい場合、returnを忘れるとNoneが返されます。

def multiply(a, b):
    result = a * b  # returnを書き忘れた!

x = multiply(2, 3)
print(x)

実行結果:

None

引数の数が合わないとエラー

関数呼び出し時に指定する引数の数が定義と合わないとエラーになります。

def show_name(name):
    print("名前は", name)

show_name()  # 引数が足りない

実行結果:

TypeError: show_name() missing 1 required positional argument: 'name'

 

5. まとめ

  • Pythonで関数を定義するにはdefキーワードを使い、名前と処理内容をまとめます。
  • 関数は、引数で外部から値を受け取り、returnで結果を返すことができます。
  • デフォルト引数や戻り値の複数返し、ネスト関数などを使えば、より柔軟な設計が可能です。
  • 定義前に呼び出したり、returnを忘れるとエラーや意図しない結果になります。

実務では、データ処理の共通化や重複排除に関数は欠かせません。小さなプログラムでも関数を積極的に使うことで、可読性・保守性が高まるので、ぜひ練習してみてください。

タイトルとURLをコピーしました