プログラミングの用語一覧へ
このページの目次
プログラミング初級図解あり

関数とは?

読み方:かんすう

最終更新:2026/08/18

3秒でわかる

ひとまとまりの処理に名前を付けて、何度でも呼び出せるようにした部品。同じ処理の重複を消し、変更箇所を 1 か所に閉じ込められます。

30秒図解

呼び出し元が関数with_taxへ1000と税率を渡す2回の呼び出しで、関数は1100と1080をそれぞれ呼び出し元へ返す
引数が入口、戻り値が出口。定義を 1 か所直せば呼び出し側は変わらない

もう少し詳しく

どういうものか

関数は、いくつかの処理をまとめて名前を付けたものです。呼ぶときに値を渡すことができ、これを引数と呼びます。処理が終わると値を返すことができ、これを戻り値と呼びます。入口 (引数) と出口 (戻り値) が決まっているので、中身がどう書かれているかを知らなくても、名前と引数だけ分かれば使えます。

なぜ必要か

同じ計算を 5 か所に書いた状態で税率が変わると、5 か所を直すことになります。1 か所直し忘れれば、その画面だけ金額が合わないバグになります。関数にまとめておけば、直すのは定義 1 か所です。

もうひとつは、名前が説明になることです。税込み計算の式がそのまま並んでいるコードより、withTax(price) と書かれているほうが、読む側は何をしているのかを一瞬で理解できます。処理を分けること自体より、正しい名前を付けることのほうが効き目が大きい場面は多くあります。

具体例

def with_tax(price, rate=0.1): return int(price * (1 + rate)) print(with_tax(1000)) # 1100 print(with_tax(1000, 0.08)) # 1080
function withTax(price, rate = 0.1) { return Math.floor(price * (1 + rate)); } const withTaxArrow = (price, rate = 0.1) => Math.floor(price * (1 + rate));

似た用語との違い

用語指すもの
引数呼び出し側から渡す値
戻り値関数が返す値。return が無いと Python は NoneJavaScript は undefined
メソッドクラスオブジェクトに属する関数


つまずきやすいところ

print と return を混同するのが最初の関門です。関数の中で print しても、呼び出し元は値を受け取れません。結果を使いたいなら return が必要です。

もうひとつは Python の既定引数の罠です。引数の既定値に空リストを直接書くと、その空リストは関数が定義された時点で 1 つだけ作られ、呼び出しをまたいで共有されます。2 回目の呼び出しでは前回の要素が残ります。既定値には None を置き、関数の中で新しいリストを作るのが定石です。

def add(item, items=None): if items is None: items = [] items.append(item) return items

次に学ぶ

配列とは?

知識のつながり

サイドバーと同じ推奨ルート・関連語を、まとめて確認できます。

現在地関数プログラミング

LEARN BY DOING

この用語を、教材で使ってみる

直接関連する編と、その編を含むコースです。用語だけで終わらず、ブラウザ上で実際に手を動かせます。

この用語を扱うコース

コース

Python入門:基礎文法編

74レッスン
コース

JavaScript入門:コードを動かす

23レッスン
コース

Python道場 商店街ポイントカードの10問

10レッスン
Pythonコースの全編を見る