Python関数:基本的な使い方

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

1. 関数の定義

関数を定義するには、`def` キーワードを使用します。関数の名前と、必要に応じて引数を指定し、関数が実行する処理をインデントして書きます。以下に、関数の基本的な構文を示します:

# 関数の基本構文
def 関数名(引数1, 引数2, ...):
    # 関数が実行する処理
    return 戻り値

以下は、2つの数を加算する関数の例です:

# 2つの数を加算する関数
def add(a, b):
    result = a + b
    return result

この例では、`add` という関数を定義し、2つの引数 `a` と `b` を受け取って、その合計を返します。

2. 関数の呼び出し

関数を呼び出すには、関数名と引数を指定します。以下に、先ほど定義した `add` 関数を呼び出す例を示します:

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

この例では、`add` 関数に `5` と `3` を引数として渡し、その結果を変数 `result` に代入し、`print` 関数で出力します。

3. デフォルト引数

関数の引数にはデフォルト値を設定することができます。デフォルト値を設定することで、引数を省略した場合に自動的にデフォルト値が使用されます。以下に、デフォルト引数の例を示します:

# デフォルト引数の例
def greet(name="ゲスト"):
    print(f"こんにちは、{name}さん!")
    
greet()         # 出力: こんにちは、ゲストさん!
greet("太郎")   # 出力: こんにちは、太郎さん!

この例では、`name` 引数にデフォルト値 `"ゲスト"` を設定しています。引数を省略するとデフォルト値が使用され、引数を指定するとその値が使用されます。

4. 可変長引数

関数に渡す引数の数が不定の場合、可変長引数を使用します。`*args` を使うことで、任意の数の位置引数を受け取ることができます。また、`**kwargs` を使うことで、任意の数のキーワード引数を受け取ることができます。以下に、可変長引数の例を示します:

# 可変長引数の例
def print_values(*args):
    for arg in args:
        print(arg)
        
print_values(1, 2, 3)  # 出力: 1 2 3
print_values("a", "b", "c")  # 出力: a b c

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

print_key_values(name="太郎", age=30)  # 出力: name: 太郎 age: 30

この例では、`print_values` 関数が任意の数の位置引数を受け取り、`print_key_values` 関数が任意の数のキーワード引数を受け取ります。

5. 関数のスコープ

関数内で定義された変数は、その関数内でのみ有効です。この変数を「ローカル変数」と呼びます。一方、関数外で定義された変数は「グローバル変数」と呼ばれ、関数内でも参照できます。ただし、関数内でグローバル変数の値を変更するには、`global` キーワードを使う必要があります。

# スコープの例
global_var = "グローバル変数"

def function():
    local_var = "ローカル変数"
    print(global_var)  # 出力: グローバル変数
    print(local_var)   # 出力: ローカル変数
    
function()
print(global_var)  # 出力: グローバル変数
# print(local_var)  # エラー: local_var は定義されていません