1行定義
Pythonとは、文法が簡潔で読みやすく、機械学習やデータ分析のライブラリが豊富なことから、AI開発で広く使われているプログラミング言語のことです。
くわしく
Python(パイソン)は、汎用のプログラミング言語です。オランダの研究所CWIにいたグイド・ヴァンロッサムが1989年の終わりに開発を始め、1991年2月に公開しました。文法が簡潔で、短いコードで読みやすく書けるのが特徴です。現在は、機械学習や深層学習の開発で広く使われています。
AI開発で使われる理由
1つ目の理由は、ライブラリの豊富さです。ライブラリとは、よく使う処理をまとめた部品のことです。数値計算のNumPy、表形式のデータを扱うpandas、機械学習のscikit-learn、深層学習のPyTorchやTensorFlowなどがそろっています。モデルの仕組みを一から書かなくても、部品を組み合わせて開発を進められます。
2つ目の理由は、試行錯誤のしやすさです。Pythonはインタプリタ型の言語で、書いたコードをその場で実行し、結果を確かめられます。Jupyter Notebookと組み合わせると、データを眺めながら少しずつ分析を進められます。
「遅い」と言われる点との関係
Python自体の処理は、C言語などと比べると遅いとされます。ただし、NumPyやPyTorchでは、行列の計算などの重い処理を、C/C++で書かれた部分やGPU向けのプログラムが受け持ちます。Pythonは処理の流れを組み立てる司令塔の役割を担うため、書きやすさと計算の速さを両立できます。
プロジェクトでの扱い
Pythonで作った分析やモデルを本番で動かすときは、ライブラリのバージョンの違いが問題になりがちです。バージョンの組み合わせを記録し、Dockerなどで実行環境ごとそろえて、どこでも同じように動くようにします。
覚え方
「Pythonは司令塔、重い計算はライブラリの中」と覚えます。
G検定での出題
出題のされ方
AI開発で広く使われる理由(ライブラリの豊富さ、試行錯誤のしやすさ)や、NumPy・pandas・PyTorchなど代表的なライブラリの役割、Jupyter Notebookなど開発環境の用語との区別が問われます。
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
Pythonはインタプリタ型の言語であり、書いたコードをすぐに実行して、結果を確かめながら開発を進めやすい。
答えを見る
答え ◯ 正しい
Python自身のドキュメントでも、Pythonはインタプリタ型の対話的な言語と説明されています。コンパイルを待たずに試せる点が、データの探索やモデルの試作に向きます。
-
Pythonで書いた深層学習の処理では、行列の計算などの重い処理も含め、すべての計算がPythonの処理系の上で1行ずつ実行される。
答えを見る
答え × 誤り
NumPyやPyTorchなどは、重い計算をC/C++で書かれた部分やGPU向けのプログラムで実行します。Pythonは処理の流れを組み立てる役割を担うため、書きやすさと計算の速さを両立できます。
-
Pythonは、2010年代の深層学習の流行にあわせて新しく作られたプログラミング言語である。
答えを見る
答え × 誤り
Pythonは、グイド・ヴァンロッサムが1989年の終わりに開発を始め、1991年2月に初めて公開した言語です。深層学習が広まるずっと前から、汎用の言語として使われてきました。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目35 AIプロジェクトの進め方)
- Python Software Foundation, General Python FAQ (What is Python?、Why was Python created in the first place?)