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 は定義されていません