サイトアイコン 【TechGrowUp】

Python開発入門9 Pythonの関数を解説!

はじめに

Pythonにおける関数(Function)は、コードを再利用可能なブロックにまとめるための重要なツールです。プログラミングにおいて、関数を使うことでコードの可読性が向上し、メンテナンスがしやすくなります。初心者にとっては少し難しく感じるかもしれませんが、基本をしっかり押さえれば、効率的なプログラミングが可能になります。

この記事では、Pythonの関数について基礎から応用まで詳しく解説します。関数の定義方法や引数の使い方、さらには再帰関数やラムダ式までカバーしていきます。

Pythonの関数とは?

関数とは、一連のコードをまとめて名前を付けることで、必要なときにその名前を呼び出して再利用できる仕組みです。Pythonでは、組み込み関数(print()len() など)だけでなく、自分で関数を定義することも可能です。

Python開発入門8 Pythonの組み込み関数を解説
Pythonの組み込み関数を初心者向けに解説。print、len、type、sorted、sumなど、よく使われる関数の例と応用方法を紹介します。公式ドキュメントを活用してさらに深く学びましょう。

Python関数の基本構文

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

基本構文

def 関数名(引数):
    # 関数内で実行されるコード
    return 戻り値

基本的な関数の例

例1: シンプルな関数

以下は、”Hello, World!” を出力する関数の例です。

def say_hello():
    print("Hello, World!")

say_hello()

出力:

Hello, World!

例2: 引数を持つ関数

引数を使うことで、関数の動作を柔軟に制御できます。

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

greet("TechGrowUp")

出力:

こんにちは、TechGrowUpさん!

例3: 戻り値を持つ関数

returnキーワードを使って、関数から値を返すことができます。

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

result = add_numbers(5, 10)
print(result)

出力:

15

引数の種類

Pythonの関数では、さまざまな引数の指定方法が用意されています。

デフォルト引数

デフォルト値を設定することで、引数を省略できるようになります。

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

greet()           # デフォルト値を使用
greet("Alice")    # 引数を指定

出力:

こんにちは、ゲストさん!
こんにちは、Aliceさん!

可変長引数(タプル)

複数の引数を1つのタプルにまとめることができます。

def print_numbers(*numbers):
    for num in numbers:
        print(num)

print_numbers(1, 2, 3, 4)

出力:

1
2
3
4

キーワード引数

関数呼び出し時に引数名を指定することで、順番を変えて渡せます。

def introduce(name, age):
    print(f"{name}さんは{age}歳です。")

introduce(age=25, name="TechGrowUp")

出力:

TechGrowUpさんは25歳です。

可変長キーワード引数(辞書)

複数のキーワード引数を1つの辞書にまとめます。

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

print_user_info(name="Alice", age=30, country="Japan")

出力:

name: Alice
age: 30
country: Japan

再帰関数

関数が自分自身を呼び出すことを再帰と言います。再帰関数は、例えば階乗やフィボナッチ数列の計算などに使用されます。

例:階乗を計算する再帰関数

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

print(factorial(5))

出力:

120

無名関数(ラムダ式)

Pythonでは、lambdaキーワードを使って簡潔な無名関数を定義できます。

基本構文

lambda 引数: 式

例:ラムダ式での簡単な関数

double = lambda x: x * 2
print(double(5))

出力:

10

応用例:関数の実践的な活用

例1: リスト内包表記と組み合わせた関数

numbers = [1, 2, 3, 4, 5]
squared = [x**2 for x in numbers]
print(squared)

出力:

[1, 4, 9, 16, 25]

例2: 関数を他の関数に渡す

Pythonでは関数を引数として渡すことができます。

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

result = apply_function(lambda x: x**2, 5)
print(result)

出力:

25

まとめ

Pythonの関数を活用することで、コードの再利用性や可読性が向上し、効率的なプログラミングが可能になります。この記事では、関数の基本構文から引数の使い方、再帰関数やラムダ式など、初心者が知っておくべき内容を網羅的に解説しました。

ぜひこれを参考に、実際のプロジェクトで関数を活用し、Pythonプログラミングをさらに楽しんでください!

モバイルバージョンを終了