def 関数を定義する

最終更新:2026-09-22

def 関数を定義する

def は関数を定義する;引数リストと return 式を伴うことができる。

カテゴリキーワード/文
種類キーワード/文
Python バージョンall

📝 構文

def name(params):
    body
    [return value]

▶ 例

下のコードを編集し「実行」をクリックすると、出力パネルに結果が表示されます:

実行結果:

Hi, Alice!
さらに多くのケースは近日公開予定です。

❓ よくある質問

Q関数本体に `return` がない場合、呼び出しが返すものは何ですか?
A`None` を返します。`def` は関数オブジェクトを定義するだけで、本体は呼び出し時に実行されます。`return` がない、または裸の `return` だけの関数は必ず `None` を返します。
Q関数内でグローバル変数を変更しても反映されないのはなぜ?
A関数内での名前への代入はデフォルトでローカル変数を生成し、同名の外側の変数には触れないためです。モジュールレベルのグローバル変数を変更するには、関数内で先に `global` を宣言する必要があります。
Q関数呼び出しで missing 1 required positional argument になるのはなぜ?
A定義時の必須引数を呼び出し時にすべて渡す必要があるためです。毎回渡したくないならパラメータにデフォルト値を設定する(`def f(x=1)`)か、キーワード引数 `f(x=2)` で明示します。
Q`def` と `lambda` の違いは何ですか?
A`def` は複数の文、docstring、型アノテーションを含められ、より汎用的です。`lambda` は単一式しか書けないため、`sorted`、`map`、`filter` などの引数に向いています。たいていの場面では `def` を推奨します。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%