人気ブログランキング
人気ブログランキング

1.6 関数について

記事内に商品プロモーションを含む場合があります

Pythonのプログラムを書く上で、関数は非常に重要な概念です。関数を使うことで、コードを整理し、再利用しやすくすることができます。この記事では、Pythonの関数の定義方法や基本的な使い方を詳しく解説します。

1. 関数とは?

関数とは、特定の処理をまとめたブロックのことです。プログラムの中で何度も使う処理を関数として定義することで、コードの重複を避け、可読性を向上させることができます。

例えば、同じ計算を何度も書く代わりに、関数を定義しておけば、1行のコードで呼び出すことができます。

2. 関数の定義方法

Pythonで関数を定義するには、def キーワードを使います。

基本的な構文

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

簡単な例

def greet(name):
"""指定された名前で挨拶をする関数"""
return f"こんにちは、{name}さん!"

# 関数の呼び出し
print(greet("太郎"))

実行結果

こんにちは、太郎さん!

解説

• def greet(name): → greet という関数を定義し、引数 name を受け取る。

• return f”こんにちは、{name}さん!” → 文字列を返す。

• print(greet(“太郎”)) → greet 関数を呼び出し、結果を表示する。

3. 引数と戻り値

関数には、引数(関数に渡す値)と 戻り値(関数が返す値)があります。

(1) 引数がある関数

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

print(add(3, 5)) # 出力: 8

• a と b という 引数 を受け取り、足し算をして 戻り値 として返す。

(2) デフォルト値を持つ引数

引数にデフォルト値を設定すると、省略した場合に既定の値が使われます。

def greet(name="ゲスト"):
return f"こんにちは、{name}さん!"

print(greet()) # 出力: こんにちは、ゲストさん!
print(greet("花子")) # 出力: こんにちは、花子さん!

(3) 可変長引数 (*args)

引数の数が不定な場合、*args を使います。

def sum_numbers(*args):
return sum(args)

print(sum_numbers(1, 2, 3, 4, 5)) # 出力: 15

• *args を使うと、任意の個数の引数を受け取れる。

(4) キーワード引数 (**kwargs)

辞書形式で可変長の引数を受け取る場合は、**kwargs を使います。

def show_info(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")

show_info(name="太郎", age=25, city="東京")

計算結果

name: 太郎
age: 25
city: 東京

4. 戻り値のない関数

関数によっては、戻り値を返さない(return を省略する)こともあります。

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

show_message() # こんにちは!

• return を使わない関数は、デフォルトで None を返す。

5. lambda(無名関数)

Pythonには、lambda を使って簡単に関数を定義できる無名関数があります。

# 通常の関数
def square(x):
return x * x

# lambdaを使った場合
square_lambda = lambda x: x * x

print(square(5)) # 出力: 25
print(square_lambda(5)) # 出力: 25

• lambda x: x * x は、x を受け取って x * x を返す関数。

6. 関数の応用

(1) 関数の中で関数を定義

関数の中に別の関数を定義することができます。

def outer_function():
def inner_function():
return "内側の関数"

return inner_function()

print(outer_function()) # 出力: 内側の関数

(2) 関数を引数として渡す

関数を別の関数の引数にすることもできます。

def apply_function(func, value):
return func(value)

def double(x):
return x * 2

print(apply_function(double, 10)) # 出力: 20

(3) 関数を返す関数

関数を返す関数も作成できます。

def multiplier(n):
def multiply(x):
return x * n
return multiply

times3 = multiplier(3)
print(times3(5)) # 出力: 15

• multiplier(3) は、x * 3 を計算する関数 multiply を返す。

7. まとめ

✅ 関数の基本

• def 関数名(引数): で関数を定義

• return で値を返す

✅ 引数の種類

• 通常の引数

• デフォルト引数 (= で設定)

• 可変長引数 (*args, **kwargs)

✅ 無名関数

• lambda を使うと簡単に関数を作成可能

✅ 関数の応用

• 関数の中に関数を定義

• 関数を引数に渡す

• 関数を返す関数

Pythonの関数をうまく活用して、シンプルで読みやすいコード を書いていきましょう!