Pythonにおける関数は、「引数(入力)」を受け取り、そのデータを処理したうえで「返り値(出力)」を返す仕組みを持っています。 プログラムを書く上で、引数と返り値の概念をしっかり理解しておくと、関数を自由自在に使いこなすことができ、より効率的で見やすいコードを書くことができるようになります。
ここでは、Python初心者がつまずきやすい「引数」と「返り値」について、サンプルコードを交えながら丁寧に解説していきます。
まずは「引数とは何か」から見ていきましょう。
引数とは、関数を呼び出すときに外部から渡すデータのことです。これを使うことで、関数の処理を柔軟に変えることができます。
次の例では、名前を入力として受け取り、挨拶を返すシンプルな関数を定義しています。
def greet(name):
return f"Hello, {name}!"
# 関数の呼び出し
message = greet("Alice")
print(message) # 出力: Hello, Alice!
このコードでは、greetという名前の関数を定義しています。 関数はnameという引数を1つ受け取り、その名前を使って挨拶文を作成します。
実際にgreet("Alice")
と呼び出すと、引数として渡した文字列 "Alice" が関数の中で使われ、結果的に "Hello, Alice!" という文字列が返ってきます。
つまり、引数は「関数に渡す材料」であり、関数はその材料を元に処理を行って出力を返すのです。
関数は1つの引数だけでなく、複数の引数を受け取ることも可能です。 たとえば、2つの数値を受け取って足し算をする関数を考えてみましょう。
def add(a, b):
return a + b
# 関数の呼び出し
result = add(3, 5)
print(result) # 出力: 8
ここでは、addという関数を定義し、aとbという2つの引数を受け取っています。 関数の中では、この2つの引数を足し算してその結果を返しています。
add(3, 5)
と呼び出すと、3と5が引数として関数に渡され、計算の結果として 8 が返ってきます。
このように、複数の引数を使えば、より複雑な処理や多様な入力に対応できるようになります。
Pythonは動的型付け言語と呼ばれ、変数や引数の型を明示的に指定しなくても動作します。 しかし、プログラムが複雑になってくると、どの関数がどんな型の引数を受け取るのかが分かりにくくなることがあります。
そのような場合に役立つのが型ヒント(type hints)です。 型ヒントを使うと、引数や返り値の型をコード内に明示でき、読みやすさや保守性が向上します。
型ヒントの基本構文は以下の通りです。
def 関数名(引数名: 型, 引数名2: 型, ...) -> 返り値の型:
処理内容
以下の例を見てみましょう。
def multiply(x: int, y: int) -> int:
return x * y
# 関数の呼び出し
result = multiply(4, 5)
print(result) # 出力: 20
このコードでは、multiplyという関数に「引数xとyは整数型である」こと、そして「返り値も整数型である」ことを明示しています。 型ヒントを付けても動作自体は変わりませんが、コードを読む人にとって「何を渡して、何が返ってくるのか」が一目でわかるため、チーム開発や学習において非常に役立ちます。
型ヒント | 説明 | 使用例 |
---|---|---|
int | 整数型(例: 1, -5, 100など) | age: int |
float | 小数を扱う浮動小数点型 | pi: float |
str | 文字列型 | name: str |
bool | 真偽値(True/False) | is_active: bool |
list | リスト(配列のようなもの) | numbers: list[int] |
tuple | 複数の値をまとめたタプル | point: tuple[int, int] |
dict | 辞書型(キーと値のペアを管理) | data: dict[str, int] |
set | 集合型(重複しない要素の集まり) | unique_ids: set[int] |
None | 返り値がないことを示す | -> None |
関数の役割は「計算結果や処理結果を返すこと」ですが、その返り値を別の処理に活用することで、より便利なプログラムを作ることができます。
例えば、数値を二乗する関数を定義し、その結果を使って出力を整形してみましょう。
def square(n):
return n * n
# 返り値を使った処理
number = 7
squared_value = square(number)
print(f"The square of {number} is {squared_value}.") # 出力: The square of 7 is 49.
この例では、square関数が数値を受け取り、その二乗を返しています。 そして、その返り値をsquared_valueという変数に格納し、最終的にフォーマットされた文字列として出力しています。
返り値を変数に代入することで、その後の計算や処理に再利用できるため、関数の柔軟性が大きく広がります。
今回は、Pythonにおける引数と返り値の基本について解説しました。
関数はプログラミングにおいて欠かせない要素であり、引数と返り値を理解することで「再利用可能でわかりやすいコード」を書けるようになります。