Contents
ユーザー定義関数
① ユーザー定義関数とは?
一言でいうと、自分で作る関数です。
def greet(name):
print(f"こんにちは、{name}さん")
使うとき:
greet(“田村”)
👉 よく使う処理を 名前付きでまとめる ためのもの。
② 基本的な関数の形
def 関数名(引数1, 引数2):
処理
return 戻り値
例:
def add(a, b):
return a + b
x = add(3, 5)
print(x)
③ 変数の有効範囲(スコープ)
超重要ポイントです ⚠️
def func():
x = 10
print(x)func()
print(x) # エラー!
ルール
関数の中の変数 → ローカル変数
関数の外 → グローバル変数
関数の外では中の変数は見えません。
グローバル変数を読むのはOK
x = 5
def func():
print(x) # OK
書き換えるときは注意
x = 5
def func():
global x
x = 10
👉 ただし あまり使わないのが正解
(バグの元)
④ 引数にデフォルト値を設定
def greet(name="ゲスト"):
print(f"こんにちは、{name}さん")
greet()
greet("田村")
複数ある場合
def power(x, n=2):
return x ** n
👉 「よく使う値」を省略できて便利。
⑤ 引数の順番ルール
def func(a, b=10, c=20):
…
デフォルトなし → 先
デフォルトあり → 後
❌ これはダメ:
def func(a=10, b):
⑥ 関数を別ファイル化する(ここが実務っぽい)
ファイル構成例
project/
├─ main.py
└─ utils.py
utils.py
def add(a, b):
return a + b
main.py
import utils
print(utils.add(3, 5))
または:
from utils import add
print(add(3, 5))
⑦ なぜ別ファイルにするのか?
見通しが良くなる
再利用できる
Notebook でも使える
大きなプログラムに自然に拡張できる
👉 src フォルダを見かける理由も、ここにつながります。
⑧ よくある初心者あるある(大事)
❌ Notebook の別セルに書いた関数が消えた?
→ カーネル再起動している
❌ 別ファイルが import できない?
→ カレントディレクトリ問題
(ここも必要なら整理できます)
まとめ(ここだけ覚えればOK)
ユーザー定義関数 = 自分で作る処理の塊
def で定義
変数は関数の中が基本
デフォルト引数で使いやすく
大きくなったら別ファイルへ
import でつなぐ

コメント