Contents
5章 関数
5.1 関数とは?
関数の種類

関数ってどんな種類があるのですか?
関数には
①組み込み関数(print, len, range など)
②ユーザー定義関数(def で作るもの)
③ライブラリの関数(標準ライブラリ、外部ライブラリ)
などがあります。
🌱ライブラリに関しては10章で詳しくお話ししますが、以下の種類があります。
①Python標準ライブラリ(math.sin など)
・Pythonに最初から含まれている、インストール不要、 import する必要はある。
②外部ライブラリ(pandasなど)
・最初は入っていない、 pip install pandas が必要、その後 import で使う。
組み込み関数
組み込み関数は、最初からPythonに用意されていて、すぐ使える関数のことです。インポート不要です。Python 3 には 70個以上の組み込み関数があります。

よく使う関数はどんなのがあるのですか?
以下のものはとてもよく使います。覚えておきましょう。
① 出力・入力
print(“こんにちは”)
input(“名前は?”)
print() → 画面に表示
input() → キーボード入力を受け取る
② 数値計算
abs(-5) # 絶対値 → 5
round(3.14) # 四捨五入 → 3
pow(2, 3) # 2の3乗 → 8
③ データの長さ・合計
len([1,2,3]) # → 3
sum([1,2,3]) # → 6
min([1,2,3]) # → 1
max([1,2,3]) # → 3
④ 型(データ型の変換)
int(“10”) # 文字 → 数値
float(“3.14”)
str(123) # 数値 → 文字
list(“abc”) # → [‘a’,’b’,’c’]
⑤ 繰り返しでよく使う
range(5) # 0〜4
enumerate([“A”,”B”])
⑥ 型を調べる
type(100) # int
isinstance(5, int) # True
組み込み関数のまとめ
✔ import不要
✔ どのPython環境でも使える
✔ 基本機能をカバーしている
5.2 よく使う関数のランキング
![]()
よく使う関数の順に、使い方を教えてください。
それでは、初心者〜中級者が日常的によく使う順に説明します。
1位~10位(初級者向け)
🥇 第1位 print()
print(“Hello”) → 文字を表示 Hello
print(i) → 変数 i を表示
print(1 + 2) → 計算結果を表示 3
👉 ほぼ毎回使う
デバッグ・確認・表示の基本
🥈 第2位 len()
len([1,2,3]) → 文字数を表示 3
表示する場合は、print(len([1,2,3]))
👉 文字数・要素数を数える
リスト・文字列操作で超頻出
🥉 第3位 range()
for i in range(6): → iを0~5まで繰り返し
for i in range(1,6): → iを1~5まで繰り返し
👉 forループの相棒
繰り返し処理の基本
for i in range(1,4):
print(i)
出力:
1
2
3
4位 int(), float(), str()
int(“10”) 文字を整数に変換
float(“3.14”) 文字を少数に変換
str(100) 数字を文字に変換
👉 型変換は毎日のように使う
5位 input()
name = input(“名前:”)
入力(input)は文字列になるので、数字として使う場合は変換が必要
👉 学習段階では超重要、Runを一時的に停止することにも使える
6位 sum()
sum([1,2,3]) → 計算結果を表示 5
表示する場合は、print(sum([1,2,3]))
👉 データ処理で頻出
7位 min() / max()
max([5,2,9])
表示する場合は、print(max([5,2,9]))
👉 統計・解析系でよく使う
8位 type()
type(5)
表示結果は<class ‘int’>などで返します。
「これは int 型(整数クラス)」という意味です
👉 エラー対策・学習時に多用
9位 enumerate()
for i, v in enumerate(list_data):
for文との重要コンビです。
👉 リストデータをインデックス付き(番号付き)でループするので便利
list_data = ["A", "B", "C"]
for i, v in enumerate(list_data):
print(i, v)
出力:
0 A
1 B
2 C
🔹 1から始めたい場合
list_data = ["A", "B", "C"]
for i, v in enumerate(list_data, start=1):
print(i, v)
出力:
1 A
2 B
3 C
10位 zip()
for a, b in zip(list1, list2):
👉 2つのリストを同時処理
names = ["太郎", "花子", "次郎"]
ages = [20, 18, 25]
for name, age in zip(names, ages):
print(name, age)
出力:
太郎 20
花子 18
次郎 25
11位以降(中級者向け)
sorted() →並び替え
reversed() →逆順
abs() →絶対値
round() →四捨五入
any() →どれかTrue
all() →全部True
map() →一括変換
filter() →条件抽出
dir() →中身確認
help() →説明表示
5.3 関数と文の違い

for はリストにありませんでしたが、関数ではないのですか?
❌ for は関数ではありません
✅ for は「文(statement)」です
関数と文の違い
✅ 関数(function)
丸かっこ () を使う
値を返す
式として使える
例:
len([1,2,3])
range(5)
print(“hi”)
✅ 文(statement)
プログラムの構造を作る命令
値を返さない
丸かっこは不要
使い方の例:
文 for i in range(5):
関数 print(i)
では for の正体は?
for は、繰り返し構文(ループ構文)です。
🧠 重要ポイント
for は関数ではありませんが、
内部で関数のような仕組みを使っています。
実は:
for i in range(5):
は内部的にこういうことをしています:
it = iter(range(5))
while True:
i = next(it)
つまり:
for → 文
range() → 関数
iter() → 組み込み関数
next() → 組み込み関数
forは裏で関数を使って動いています。
Pythonでの分類
🟢 文(statement)
for
if
while
def
class
import
return
break
continue
pass
🟢 関数(function)
print()
input()
len()
range()
sum()
min()
max()
int()
float()
など
なぜ重要?
この違いを理解すると:
なぜ for() と書けないのか
なぜ if() と書かないのか
なぜ return は関数の中でしか使えないのか
が全部つながります。
5.4 ユーザー定義関数
👉 **「ひとまとまりの処理に名前をつけたもの」**です。
いちばん簡単な例
def hello():
print(“こんにちは”)
これは
def → 関数を作る合図
hello → 関数の名前
() → 引数(今はなし)
: → ここから中身
インデント部分 → 実行される処理
実行するには?
hello()
👉 これで中の処理が実行されます。
関数は「ボタン」です。
helloボタン
↓ 押す(hello())
こんにちは と表示
🔹 引数(入力)を使う関数
def hello(name):
print(f”こんにちは、{name}さん”)
実行:hello(“太郎”)
結果:こんにちは、太郎さん
👉 name が 入力(引数)
🔹 戻り値(return)
def add(a, b):
return a + b
使い方:
result = add(3, 5)
print(result)
出力:8
👉 return は「結果を返す」
まとめ
def: 関数を作る
引数: 入力
return: 結果を返す
関数: まとめた処理
🎯 なぜ関数を使う?
✔ 同じ処理を何回も使える
✔ コードが整理される
✔ バグが減る
✔ 読みやすくなる
🌱 クラスとの違い(超簡単)
関数 → 単体の処理
クラス → データ+処理をまとめる仕組み
ユーザー定義関数
① ユーザー定義関数とは?
一言でいうと、自分で作る関数です。
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 でつなぐ