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` を推奨します。