Skip to content

1章 Pyの味

Pythonのプログラミングは、料理のレシピや編み物のパターンに似ています。決まった語彙と構文規則を持ち、順番に処理を実行していくという共通点があります。しかし、Pythonの構文は他の多くのプログラミング言語よりも自然で読みやすく、覚えるべき規則も少なく設計されています。

Pythonは単なる学習用言語ではなく、1991年から存在する歴史ある言語です(Javaよりも年上です)。

  • 大規模システムでの採用: Google、YouTube、Dropbox、Netflixなどの世界的な企業で本番用アプリケーションとして利用されています。
  • 多様な動作環境: コマンドライン、ウェブのクライアント・サーバー、クラウド、モバイルデバイス、組み込みデバイスなど、ほぼあらゆる環境で動作します。

プログラミング言語は大きく「静的言語」と「動的言語」に分けられます。Pythonは後者の代表格です。

  • 静的言語(C, C++, Javaなど): 変数を使用する前に「型」(整数、文字など)を宣言する必要があります。実行速度は速いですが、人間が記述するコード量が多くなります。
  • 動的言語(Python, Ruby, PHPなど): 実行時に変数の型を自動で判断するため、型の宣言が不要です。インタープリタによって解釈・実行され、静的言語よりもはるかに少ない行数でプログラムを記述できます。

Pythonが圧倒的な人気を誇るのには、明確な理由があります。

  • 読みやすさと生産性: プログラムは書かれる回数よりも「読まれる回数」の方が圧倒的に多くなります。Pythonは読みやすさを重視して設計されており、静的言語の半分の行数で同等の処理が書けるため、生産性が倍増します。
  • バッテリー同梱: 「バッテリー同梱」と呼ばれるほど、便利な機能が詰まった標準ライブラリが最初から用意されています。
  • プログラミングの楽しさ: 多くのプログラマーが「仕事を終わらせるための単なるツール」としてではなく、純粋にPythonでのコーディングを楽しんでいます。

強力なPythonにも、不向きな用途が存在します。

  • CPUバウンドな処理: 膨大な計算を連続して行うような処理では、CやJavaなどの静的言語の方が高速に動作します。
  • しかし、ネットワーク通信の待ち時間が大半を占めるようなアプリケーションでは、Pythonと静的言語の実行速度の差はほとんど問題になりません。

現在、Pythonには「2系」と「3系」の2つのバージョンが存在しますが、未来を担うのは「Python 3」です。

  • 非互換の変更: Python 2の根本的な設計上の問題(Unicode文字の処理方法など)を修正するため、互換性を崩してPython 3が誕生しました。
  • 開発の終了: Python 2の開発はバージョン2.7で終了しており、新しい開発はすべてPython 3で行われます。

Pythonプログラムを実行するには、主に2つのアプローチがあります。

  1. 対話型インタープリタ: コマンドライン(ターミナル)で python と入力して起動します。1行入力するごとにすぐに結果が返ってくるため、短いコードのテストに最適です。
  2. ファイルからの実行: テキストエディタでコードを書き、拡張子 .py のファイルとして保存します。ターミナルから python ファイル名.py と入力して実行します。