【Python/第1回】

Python

これから全6回で、Pythonがどのようなプログラミング言語かを学んでいきましょう!

今回は第1回ということで、まずはPythonの概要についてお話していきます。

Pythonとは

Pythonは、シンプルで読みやすい構文を持ち、多くの分野で活用されているプログラミング言語です。

1991年にグイド・ヴァンロッサム(Guido van Rossum)によって開発されたプログラミング言語で、コードの可読性を重視しており、初心者でも学びやすいのが特徴です。また、データ分析やWeb開発、機械学習など多くの分野で利用されています。

Pythonの特徴

主な特徴として、3つ挙げられます。それぞれ見ていきましょう。

シンプルな構文

Pythonは直感的な構文を持ち、少ないコード量でプログラムを記述できます。例えば、C言語とPythonで「Hello, World!」を表示するコードを比較してみましょう。

C言語の例

#include <stdio.h>

int main() {
    printf("Hello, World!\n");
    return 0;
}

Pythonの例

print("Hello, World!")

このように、Pythonではprint()関数を使うだけで簡単に文字を出力できます。

これは、標準ライブラリが最初から組み込まれているほか、コードの上から実行されるのでmain関数が必要なかったりすることによる恩恵です。

動的型付け

C言語では、変数の型(int、float、charなど)を明示的に指定する必要がありますが、Pythonでは型を自動で判断してくれます。

C言語の例

int x = 10;
float y = 3.14;

Pythonの例

x = 10
y = 3.14

Pythonでは、変数を定義するときに型を指定する必要がなく、柔軟にプログラムを記述できます。

豊富なライブラリ

Pythonには、数多くの標準ライブラリや外部ライブラリが用意されており、特定の機能を簡単に利用できます。例えば、数値計算には「NumPy」、データ分析には「pandas」、機械学習には「scikit-learn」や「TensorFlow」などがあります。

TensorFlowはMoveNetでもお世話になっている技術ですね。JavaScriptだけでなく、Pythonでも実行できます。

ちなみに、Python開発者が自作のパッケージを公開しているPyPIでは、2025年3月時点で60万以上のパッケージが利用可能となっています。

PythonとC言語の比較

特徴C言語Python
記述量多い少ない
型付け静的型付け(型を明示的に指定)動的型付け(型を自動判断)
コンパイル必要(コンパイルして実行)不要(インタプリタ型)
用途組み込み開発、システムプログラムWeb開発、データ分析、AIなど

Pythonは、C言語に比べてコードが短く、コンパイルが不要で実行しやすいというメリットがあります。一方で、処理速度の面ではC言語が優れています。

Pythonの活用分野

Pythonは多くの分野で活用されています。主な利用用途を紹介します。

Web開発

DjangoやFlaskといったWebフレームワークを使って、Webアプリケーションを開発することが可能です。

例えば、InstagramやYoutubeはWebアプリケーションのバックエンドにDjangoフレームワークを使用しています。また、DropboxやGoogle検索の基盤システムはPythonで構築されています。

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return "Hello, World!"

if __name__ == '__main__':
    app.run()

Flaskであれば、これだけでWebサーバが立ち上がります。

データ分析・機械学習

pandasやNumPy、TensorFlowなどのライブラリを使い、データの分析やAIの開発が可能です。

Youtubeのアナリティクスやおすすめ機能などで活用されています。

ライブラリも豊富で、ニューラルネットワークの構築であれば、たったこれだけで動作します。

import tensorflow as tf
from tensorflow import keras

model = keras.Sequential([
    keras.layers.Dense(64, activation='relu', input_shape=(10,)),
    keras.layers.Dense(1, activation='sigmoid')
])

model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])

最近だとStableDiffusionなどの拡散モデルで構築されたモデルを利用するのに良く利用されているイメージです。

自動化・スクレイピング

SeleniumやBeautifulSoupを用いて、Webサイトのデータを取得したり、自動操作を行うことができます。

大規模言語モデルの学習データを収集するのに利用されるほか、統計や分析のデータ集めに使うなど、用途は多岐にわたります。

組み込み系・IoT

Raspberry Piなどのハードウェアと組み合わせて、組み込みシステムを開発することもできます。

画像処理のOpenCVや機械学習のTensorFlow Liteとの連携が可能になることから、採用されるケースがあるみたいです。

まとめ

  • Pythonはシンプルな構文を持ち、初心者でも学びやすい言語。
  • 動的型付けや豊富なライブラリにより、効率的に開発できる。
  • C言語と比べてコードの記述量が少なく、コンパイルが不要。
  • Web開発、データ分析、機械学習、組み込み系など幅広い分野で活用されている。

第2回では、Pythonのインストール方法や基本的な開発環境について解説します。

それでは