1 関数 (Functions)

“Python”言語では、関数は特定のタスクを実行するコードブロックであり、必要な時に再利用できます。関数はコードを整理し、冗長性を減らし、コードの読みやすさを向上させるのに役立ちます。

1.1 関数の定義

“Python”言語で関数を定義するには、defキーワードを使い、その後に関数名と括弧を書きます。括弧内にパラメータを指定することもできます。パラメータは入力値を受け取る変数のことです。

def greet(name):
    print(f"Hello, {name}")

この関数の定義を順にみてみましょう。

def greet(name):: defキーワードは関数を定義するために使用されます。greetは定義されている関数の名前です。括弧内のnameは関数が受け取るパラメータ (parameter) です。関数は呼び出される際に引数 (argument) を受け取ります( Section 1.2 を参照)。パラメータと引数の違いについては、 Tip 1 を参照してください。

print(f"Hello, {name}"): この行は関数greet()の本体です。print関数を使用して挨拶を出力します。関数の本体はインデントされており、コードの他の部分と区別されます。関数の本体をインデントする際には4つのスペースを使用することが推奨されます。

1.2 関数の呼び出し

関数を実行し、その中で定義されたタスクを実行するには、関数名の後に括弧を付けてその関数を呼び出す必要があります。もしその関数が引数を必要とする場合、それらを括弧内で受け渡すことができます。

# Calling greet function
greet("Alice")
Hello, Alice

ここでは、Aliceが関数に渡される引数であり、それがパラメータnameに割り当てられます。これで、関数内で値Aliceを使用することができます。

 

Tip 1: TIPS: パラメータと引数の違い

パラメータは関数が受け取る変数です。関数を呼び出すとき、値がパラメータに渡されます。この値を引数と呼びます。

1.3 リターン文

関数はreturn文を使用して値を返すことができます。return文によって、関数は呼び出し元のコードにデータを送ることができます。

def add_numbers(x, y):
    return x + y

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

括弧内のxyは、関数が取るパラメータです。関数は呼び出される際に2つの引数を渡されます。関数本体にはreturn x + yがあります。この行はxyの値を足し算し、関数が呼び出された時に結果を返します。

result = add_numbers(5, 10)では、関数add_numbers()が呼ばれ、引数510が渡されます。関数は x + y を返し、その値を変数 result に代入しています。

1.4 変数のスコープ

関数内で定義された変数はその関数内でのみ有効であり、明示的に関数から返されない限り、外部からアクセスすることはできません。関数外で定義されたグローバル変数は、関数内部からアクセスすることができます。

global_var = 10

def display_var():
    local_var = 20
    print(f"local_var: {local_var}")
    # You can access a global variable
    print(f"global_var: {global_var}")

display_var()

print(global_var)

try:
    # 関数内の変数にアクセスすることはできません。
    # このコードはエラーを返します
    print(local_var)
except NameError as e:
    print(e)
local_var: 20
global_var: 10
10
name 'local_var' is not defined

2 Exercises