mei_13のPython講座 ロゴ

【解説】Pythonの「組み込み関数」をマスターしよう:誰でもすぐに使える、プログラムの頼もしい味方たち




🐍 初心者歓迎!月額4,000円で質問し放題のPython講座
(1時間4,000円の伴走型ビデオチャット指導も受付中!)
🚀 講座の詳細を見る 📩 質問・お問い合わせ

Pythonの「組み込み関数」をマスターしよう:誰でもすぐに使える、プログラムの頼もしい味方たち


Yukiのアイコン
【Yuki】 「……こんにちは、ヒロキくん。今日はPythonの勉強の中でも、とっても基礎的で、でもとっても大切な『組み込み関数』について、一緒にお勉強しましょうか。あまり気負わずに、のんびり進めていきましょうね……」


Hirokiのアイコン
【Hiroki】 「Yukiさん、よろしくお願いします! 組み込み関数って、なんとなく聞いたことはありますけど、具体的にどういうものなんですか? 特別な準備が必要だったりするんでしょうか」


Yukiのアイコン
【Yuki】 「いいえ、そんなことはありませんよ。組み込み関数というのは、Pythonをインストールしたその瞬間から、何も設定しなくても最初から使える関数のことです。……プログラムを書く人たちが困らないように、Pythonを作った人たちが最初から準備してくれた、小さな、でもとても役に立つ道具たちなんです。誰かの役に立つために、ずっとそこで待っていてくれる……そう思うと、なんだか少し、愛着が湧いてきませんか?」


Hirokiのアイコン
【Hiroki】 「なるほど、最初から入っている道具箱みたいなものなんですね。そう言われると、確かに少し親近感が湧きます」


Yukiのアイコン
【Yuki】 「ふふ、そう言ってもらえると嬉しいです。それじゃあ、まずは一番有名なものから見ていきましょうか」

画面に文字を出す・データを受け取る:print() と input()


Yukiのアイコン
【Yuki】 「まずは、ヒロキくんもきっと使ったことがある、print()関数です。これは指定した内容を画面に表示するための、基本中の基本の関数ですね。……それから、ユーザーから入力を受け取るための input() 関数。この2つは、プログラムと人間が対話するための、入り口のような役割を持っています」


Hirokiのアイコン
【Hiroki】 「あ、それは僕も知っています! 最初の『Hello World』もprint関数でした。でも、input関数は少し使い方が難しいときがあるような……」


Yukiのアイコン
【Yuki】 「そうかもしれませんね。ちょっと簡単なサンプルコードを書いてみますね。……こんな感じです」

# 名前を聞いて挨拶するプログラム
name = input("あなたのお名前を教えてください:")
print("こんにちは、", name, "さん。よろしくお願いします。")

# 数値を入力してもらう場合
age_str = input("あなたの年齢を教えてください:")
age = int(age_str)  # 入力は文字列なので数値に変換
print(f"{name}さんは、来年には{age + 1}歳になりますね。")


Yukiのアイコン
【Yuki】 「……input()関数で受け取ったデータは、たとえ数字を打ち込んだとしても、最初は『文字列(str)』として扱われるんです。だから、計算に使いたいときは int() などの別の関数を使って、種類を変えてあげる必要があるんですよ。ここは初心者の人がよく躓いてしまうところかもしれません……」


Hirokiのアイコン
【Hiroki】 「あ、そうだったんですね! 文字列のままだと足し算ができないから、変換が必要なんだ。int()も組み込み関数の一つなんですか?」


Yukiのアイコン
【Yuki】 「はい、その通りです。よく気づきましたね、ヒロキくん」

データの型を知る・変換する:type() とデータ型変換関数


Yukiのアイコン
【Yuki】 「今お話しした int() のように、データの種類(型)を変換したり、今の型が何なのかを調べたりする関数も、たくさん用意されています。……特に、type() 関数は、プログラムがうまく動かないときに『このデータ、今どんな形なんだろう?』って確認するのに、とても便利だと思います……」


Hirokiのアイコン
【Hiroki】 「デバッグというか、間違い探しに使えるんですね」


Yukiのアイコン
【Yuki】 「そうなんです。代表的なものをまとめてみますね」

  • type(obj):オブジェクトの型を返します。
  • int(x):数値や文字列を整数に変換します。
  • float(x):数値や文字列を浮動小数点数(小数)に変換します。
  • str(x):オブジェクトを文字列に変換します。
  • bool(x):値を真偽値(True/False)に変換します。
# 型を調べてみる
print(type(10))        # <class 'int'>
print(type("こんにちは")) # <class 'str'>

# 文字列を数値にして計算する
price = "1500"
tax_rate = 1.1
total = int(price) * tax_rate
print(f"合計金額は {total} 円です。") # 1650.0


Yukiのアイコン
【Yuki】 「……こうやって、必要な形に整えてあげることで、コンピュータも迷わずに処理をしてくれるようになるんです。地味な作業に見えますけど、とっても大切なんですよ」

数の計算を助けてくれる:abs(), round(), max(), min(), sum()


Hirokiのアイコン
【Hiroki】 「計算についても、便利な関数があるんですか? 四則演算以外にも色々ありそうですね」


Yukiのアイコン
【Yuki】 「ええ。たとえば、マイナスの数字をプラスに変える abs()(絶対値)や、小数を丸める round()(四捨五入に近い動作)、それから複数の数字の中から一番大きいものや小さいものを探す max()min() もあります。……リストの中身を全部合計してくれる sum() も、よく使われるかもしれません」


Hirokiのアイコン
【Hiroki】 「いちいち自分でループを回して計算しなくていいのは、すごく助かります!」


Yukiのアイコン
【Yuki】 「そうですね。Pythonが裏側で効率よく計算してくれるので、自分で書くよりも正確で速いことが多いと思います……。少し例を出してみますね」

numbers = [10, 5, 8, 20, 3]

print("最大値:", max(numbers))  # 20
print("最小値:", min(numbers))  # 3
print("合計:", sum(numbers))    # 46

# 絶対値と丸め
print(abs(-50))      # 50
print(round(3.1415, 2))  # 3.14 (小数第2位で丸める)


Hirokiのアイコン
【Hiroki】round(3.1415, 2) みたいに、桁数も指定できるんですね。これは便利そうです」


Yukiのアイコン
【Yuki】 「……はい。組み込み関数は、引数(ひきすう)という、関数に渡す情報を変えることで、いろいろな動きをしてくれるんです。困ったときは、公式のドキュメントを見てみると、新しい発見があるかもしれません……」

Python 標準ライブラリ - 組み込み関数

データの並び(シーケンス)を操作する:len(), range(), sorted()


Hirokiのアイコン
【Hiroki】 「次はどんな関数がありますか?」


Yukiのアイコン
【Yuki】 「次は、データの集まり……リストや文字列などを扱うときに欠かせない関数たちです。……まずは len() ですね。これは、長さ(要素の数)を教えてくれる関数です。……それから、繰り返し処理でよく使う range() も、実は組み込み関数なんですよ」


Hirokiのアイコン
【Hiroki】for i in range(5): の range ですね! これも関数だったんだ……」


Yukiのアイコン
【Yuki】 「そうなんです。あと、データを並べ替えてくれる sorted() もよく使われます。……もとのリストを壊さずに、新しく並べ替えたリストを作ってくれる、ちょっと控えめで優しい関数なんです」

# 文字列の長さを測る
text = "Pythonは楽しいです"
print(len(text))  # 11 (全角文字も1文字として数えます)

# リストの要素数
items = ["apple", "banana", "cherry"]
print(len(items)) # 3

# 数値の並びを作る
numbers = list(range(1, 6)) # 1から5まで
print(numbers) # [1, 2, 3, 4, 5]

# 並べ替え
data = [5, 2, 9, 1, 7]
sorted_data = sorted(data)
print("元のデータ:", data)         # [5, 2, 9, 1, 7]
print("並べ替えたデータ:", sorted_data) # [1, 2, 5, 7, 9]


Hirokiのアイコン
【Hiroki】sorted() は元のリストを変えないんですね。元の順番も取っておきたいときに良さそうです」


Yukiのアイコン
【Yuki】 「ええ、その通りです。……もし元のリスト自体を書き換えてもいいときは、リストのメソッドである .sort() を使いますが、初心者のうちはこの sorted() を使うほうが安心かもしれませんね」

繰り返しをより便利にする:enumerate() と zip()


Yukiのアイコン
【Yuki】 「ここからは、少しだけ応用的な、でも覚えると劇的にコードが綺麗になる関数を紹介しますね。……enumerate()zip() です。ヒロキくんは、これらを聞いたことはありますか?」


Hirokiのアイコン
【Hiroki】 「うーん、名前は見たことある気がしますけど、使い方はよく分かりません……」


Yukiのアイコン
【Yuki】 「……ふふ、大丈夫ですよ。enumerate() は、リストの中身を取り出すときに、『今、何番目の要素かな?』というインデックス番号も一緒に教えてくれる関数です。……zip() は、2つのリストをファスナーのようにガッチャンコして、ペアにして取り出してくれる関数なんです。……どちらも、誰かの作業を少しでも楽にしたい、という思いから生まれたような、素敵な関数だと思いませんか?」


Hirokiのアイコン
【Hiroki】 「ガッチャンコ……。それは便利そうですね! 実際のコードを見てみたいです」


Yukiのアイコン
【Yuki】 「はい、書いてみますね」

# enumerateの例
fruits = ["りんご", "みかん", "ぶどう"]
for index, name in enumerate(fruits):
    print(f"{index + 1}番目の果物は{name}です")

# zipの例
names = ["佐藤", "鈴木", "高橋"]
scores = [80, 95, 70]
for name, score in zip(names, scores):
    print(f"{name}さんの点数は{score}点でした")


Hirokiのアイコン
【Hiroki】 「わあ、これを使わないと、わざわざ i = 0 とか書いて、ループの中で i += 1 ってしなきゃいけないんですよね。すごくスッキリします!」


Yukiのアイコン
【Yuki】 「……そう言ってもらえると、関数たちも喜んでいる気がします。こうした便利な道具を使いこなせると、プログラムを書くのがもっと楽しくなるはずですよ……」

知っていると「通」になれる?:all(), any(), filter(), map()


Yukiのアイコン
【Yuki】 「最後に、少し特殊な……でも知っていると便利な関数をいくつか紹介しておきますね。……all()any() です」


Hirokiのアイコン
【Hiroki】 「すべて、と、どれか、ですか?」


Yukiのアイコン
【Yuki】 「その通りです。all() はリストの中身が『すべて真(True)』ならTrueを返し、any() は『どれか一つでも真』ならTrueを返します。……テストの点数が全員合格点以上か確認したりするのに使えそうですよね。……それから、map()filter() というものもありますが、これらはリストの全要素に一気に処理を適用したり、特定の条件で抜き出したりするときに使います」


Hirokiのアイコン
【Hiroki】 「なんだか、だんだん魔法みたいになってきましたね……」


Yukiのアイコン
【Yuki】 「ふふ、そうかもしれません。でも、いきなり全部を覚えようとしなくていいんです。……『そういえば、あんな便利なツールがあったな』って、心の片隅に置いておくだけで十分ですよ。必要になったときに、また会いに来ればいいんですから……」

# all, anyの例
results = [True, True, False, True]
print(all(results)) # False (一つFalseがあるから)
print(any(results)) # True  (一つでもTrueがあるから)

# filterの例 (偶数だけ取り出す)
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers) # [2, 4, 6]


Hirokiのアイコン
【Hiroki】lambda っていうのも出てきましたけど、これはまた今度教えてください!」


Yukiのアイコン
【Yuki】 「はい、そうしましょうか。……一度にたくさん詰め込みすぎると、疲れちゃいますからね。……今日のところは、このあたりにしておきましょうか」

まとめ:組み込み関数はいつもあなたのそばに


Hirokiのアイコン
【Hiroki】 「Yukiさん、今日はありがとうございました! 組み込み関数が、Pythonの中に最初から用意されている、優しくて便利な道具たちなんだってことがよく分かりました」


Yukiのアイコン
【Yuki】 「……それは良かったです。組み込み関数は、私たちが複雑なコードを書かなくてもいいように、ずっとそこで準備をしてくれています。……困ったとき、楽をしたいとき、まずは『これをやってくれる組み込み関数はないかな?』って探してみる癖をつけると、プログラミングがぐっと上達すると思いますよ……」


Hirokiのアイコン
【Hiroki】 「はい! さっそく明日からのコードで使ってみます!」


Yukiのアイコン
【Yuki】 「ええ。もし使い方がわからなくなったら、いつでも聞いてくださいね。……私は、ヒロキくんが楽しくプログラムを書けるように、いつでもここで応援していますから……。……あ、それと、さっき紹介した公式ドキュメントも、時間があるときに眺めてみてください。きっと、まだ見ぬ素敵な道具が、あなたに見つけてもらえるのを待っているはずです……」


Hirokiのアイコン
【Hiroki】 「分かりました! ありがとうございました!」


Yukiのアイコン
【Yuki】 「……ふふ、いいえ。……それじゃあ、また明日、お会いしましょうね……。お疲れ様でした……」


参考資料 - Python 3.12.2 ドキュメント - 組み込み関数 - Python公式 チュートリアル



< コメント
コラム一覧に戻る
Flask >

この記事では基礎を解説しましたが、実務においては「もっと複雑なデータを扱いたい」「独自のシステムに組み込みたい」といった、個別の課題に直面することも多いはずです。

「自分で書く時間は最小限に抑え、プロの品質でツールを完成させたい」という方は、ぜひ一度ご相談ください。

「教わる」だけでなく「形にする」パートナーとして、フリーランスエンジニアのmei_13が最短ルートでの解決をサポートします。

➡ ココナラで制作・相談を依頼する(見積もり無料)


初心者から始められるPythonレッスン

プログラミング未経験者・初心者歓迎!
月額4,000円で質問し放題!!
● 完全オンライン
● 翌日までには必ず返信
● 挫折しない独自の学習メソッド
● 圧倒的高評価!!
テキストベースで時間を選ばない
4,000円/60分伴走型ビデオチャット指導も可能
● 高品質なサンプルコード
詳細はこちら

📩 質問・お問い合わせはこちら



AIアシスタント Yuki