- プログラミング言語にあらかじめ組み込まれていてimport(インポート)や宣言なしにそのまま使える関数のこと。「組み込み関数」とも呼ばれる
- Pythonの`print()`・`len()`・`range()`・`type()`・JavaScriptの`console.log()`・`parseInt()`などが代表例でよく使う処理が最初から使えるように言語設計者が用意した道具箱だ
- ビルトイン関数を使うと自分でゼロから実装しなくていいため開発速度が上がり、言語の最適化済み実装を使うためパフォーマンスも良い場合が多い
【深掘り】これだけ知ってればOK!
JavaScriptの主要なビルトイン関数・メソッドを整理しよう。型変換・確認:`parseInt()`・`parseFloat()`・`Number()`・`String()`・`typeof`・`Array.isArray()`。数値:`Math.round()`・`Math.floor()`・`Math.ceil()`・`Math.abs()`・`Math.max()`・`Math.min()`・`Math.random()`。出力:`console.log()`・`console.error()`。
ビルトイン関数を活用するとコードが短くなりバグが減る実例:リストの最大値を求める処理は自分でforループを書かずに`max(numbers)`の1行で済む。複数のリストを並列に処理する場合も`zip(list1, list2)`で簡単に実現できる。ビルトイン関数を使わずに自分で実装する「車輪の再発明」を避けることが効率的なコーディングの基本だ。
Pythonのビルトイン関数の数は60以上あるが、全てを暗記する必要はない。`print()`・`len()`・`range()`・`type()`・`int()`・`str()`・`list()`・`dict()`・`sorted()`・`enumerate()`・`zip()`・`max()`・`min()`・`sum()`の頻出15個を覚えるだけで日常的なコーディングの大部分に対応できる。
よくある誤解
ビルトイン関数はどの言語でも同じだと思っている
ビルトイン関数は言語によって異なる。Pythonの`print()`はJavaScriptでは`console.log()`で、Pythonの`len()`はJavaScriptでは`.length`プロパティだ。言語ごとに用意されているビルトイン関数を覚えることがその言語を使いこなすための基礎になる。
ビルトイン関数より自分で書いた関数の方が速いと思っている
ビルトイン関数は言語の内部でCなど低水準言語で最適化実装されている場合が多く、Pythonで自分でループを書くより`sum()`や`max()`の方が一般的に速い。車輪の再発明をしないことはパフォーマンスの観点でも重要だ。
会話での使われ方

Pythonで文字列を整数に変換するにはどうすればいいですか?`int()`というビルトイン関数を使います。int(‘123’)で123という整数になります。
プログラミング初心者が型変換について質問して経験者が答えている場面。




このコード、自分でループでソートを書いているんですが、`sorted()`というビルトイン関数があるので使ってください。コードが短くなります。
コードレビューで車輪の再発明を指摘してビルトイン関数への置き換えを提案している場面。




zip()を使うと2つのリストを同時に反復できます。forループで両方のリストのインデックスを管理する必要がなくなりますよ。
Pythonの初心者に対してzip()の便利な使い方を教えている場面。
【まとめ】3つのポイント
- インポートなしにそのまま使えるプログラミング言語標準の関数群:よく使う処理が最初から最適化された形で提供されているためビルトイン関数の活用が開発速度の向上とコードの簡潔化につながる
- print・len・range・type・intなどPythonの主要ビルトイン関数を使いこなす:Pythonの60以上のビルトイン関数の中から頻出するものを覚えることでループ・型変換・コレクション操作などの日常的なコーディングが大幅に効率化できる
- ビルトイン関数→標準ライブラリ→サードパーティライブラリの3階層を理解:インポート不要のビルトイン・インポート必要だがインストール不要の標準ライブラリ・インストールも必要なサードパーティライブラリの3階層を理解することでPythonの環境管理の基礎が身につく
よくある質問
-
QPythonで最もよく使うビルトイン関数は何ですか?
-
A
print()・len()・range()・type()・int()・str()・float()・list()・dict()・sorted()・enumerate()・zip()・max()・min()・sum()が頻出です。
-
QJavaScriptにはPythonのrange()に相当するビルトイン関数はありますか?
-
A
直接のrange()はありません。`Array.from({length: 5}, (_, i) => i)`や`[…Array(5).keys()]`でrange(5)と同様のリストを作れます。
-
QPythonのビルトイン関数の一覧はどこで確認できますか?
-
A
公式ドキュメントの「組み込み関数」ページ(https://docs.python.org/ja/3/library/functions.html)に全ての組み込み関数の一覧と説明があります。
-
Qmap()とfilter()はビルトイン関数ですか?
-
A
はい、Pythonではmap()・filter()・zip()・enumerate()は全てビルトイン関数でimport不要です。
【出典】参考URL
https://docs.python.org/ja/3/library/functions.html :Python公式「組み込み関数」一覧
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects :MDN「JavaScriptのグローバルオブジェクト」


コメント