【Python】関数の戻り値について解説
目次
戻り値の基本
Pythonの関数は、return
文を使用して値を呼び出し元に返します。関数がreturn
を実行すると、処理はそこで終了します。
def square(x):
return x * x
result = square(4)
print(result) # 16
複数の値を返す
Pythonでは、複数の値をタプルとして返すことができます。
def get_coordinates():
return 10, 20
x, y = get_coordinates()
print(x, y) # 10 20
戻り値の型と型ヒント
Pythonは動的型付けの言語ですが、型ヒントを使用して戻り値の型を明示できます。
def add(a: int, b: int) -> int:
return a + b
print(add(2, 3)) # 5
戻り値がない場合(None)
return
を書かない、または明示的に return None
とすると、関数は None
を返します。
def no_return():
pass
result = no_return()
print(result) # None
ジェネレーター(yield)
yield
を使うと、関数をジェネレーターとして扱えます。
def count_up():
for i in range(3):
yield i
for num in count_up():
print(num)
クロージャと戻り値
関数が関数を返すことも可能です。
def multiplier(factor):
def multiply(n):
return n * factor
return multiply
double = multiplier(2)
print(double(5)) # 10
応用例
戻り値を活用した関数の例を示します。
def process_data(data: list) -> tuple[int, float]:
total = sum(data)
avg = total / len(data) if data else 0
return total, avg
print(process_data([1, 2, 3, 4, 5])) # (15, 3.0)