文書の過去の版を表示しています。
Python言語とは
Pythonはインタプリタ
次の5行は、Pythonで書いたHello World!です。
def main(): print("Hello World!") if __name__ == "__main__": main()
Pythonがインストールされている環境で、これを hello.py という名前のテキストファイルに保存し、コンソールで、pythonを実行し、引数にそのファイル名を指定すると
$ python hello.py Hello World!
という実行結果を得ます。
Python言語で書かれたプログラムの実行には必ず、pythonというコマンドを介する必要があります。これはPython言語のインタプリタ(処理系)です。
Python本体と標準ライブラリとサードパーティライブラリ
どんな言語も、言語の開発者が標準で提供する機能と、サードパーティが開発して提供する機能があります。 Pythonの場合は、次の三種類に分類されます。
提供方法 | 機能、モジュール、パッケージ |
Python本体に組み込んであるもの | 言語の文法、組み込み関数、組み込み定数、組み込み型、組み込み例外 |
Pythonと一緒にインストールされる標準ライブラリ | テキスト処理サービス、バイナリデータ処理、データ型、数値と数学モジュール、関数方プログラミング用モジュール、ファイルとディレクトリへのアクセス、データの永続化、データ圧縮とアーカイブ、ファイルフォーマット、暗号関連のサービス、汎用オペレーティングシステムサービス、並列実行、コンテキスト変数、ネットワーキングとプロセス間通信、インターネット上のデータの操作、構造化マークアップツール、インターネットプロトコルとサポート、マルチメディアサービス、国際化、プログラムのフレームワーク、Tkを用いたGUI、開発ツール、デバッグとプロファイル、ソフトウェアパッケージと配布、Pythonランタイムサービス、カスタムPythonインタプリタ、モジュールのインポート、Python言語サービス、各種サービス、MS Windows固有のサービス、Unix固有のサービス、取って代わられたモジュール群、ドキュメント化されていないモジュール |
ユーザが選んでインストールして使うもの | NumPy、pandas、SciPy、flask, Pillow, purest, requests, Beautiful Soup, Scraps, SymPy, scikit-learn、… |
Python本体に組み込んである機能以外はすべて、import文を用いて実行時に読み込むことを指定して、利用します。
Python本体の機能の例
変数型
配列
Python本体は、1次元の配列しか持ちません。しかし、配列を要素にもつ配列も定義できるので、
リスト、タプル、辞書の3種類の配列を持ちます。 リストは更新可能な配列です。 タプルは更新不可能な配列です。 辞書はPerlの連想配列と似ていますが、数値と文字列を区別するキーを持ちます。
条件分岐
ループ
内包表記
zipとenumerate
標準ライブラリの例
サードパーティ提供のライブラリの例
例えば、正弦関数のグラフを描くという目的の遂行には、以下の知識の活用が必要となります。
- 数値計算に関する機能を多く提供するNumPyを読み込んで、その中の数値の配列を定義するメソッドarange()と正弦関数のメソッドsin()を利用します。
- PythonとNumPyに対して各種グラフの描画機能を提供するグラフ描画ライブラリMatplotlibの中のpyplotモジュールを読み込んでメソッドplotを用います。
これらの知識を活用すると、次の短いプログラムが書けます。
def main(): import numpy as np # NumPy を読み込む import matplotlib.pyplot as plt # Matplotlib を読み込む x = np.arange(-10, 10, 0.1) # x座標を-10 から 10 まで 0.1 きざみで取得 y = np.sin(x) # 正弦関数の式を記述 plt.plot(x, y) # x, y をプロット plt.show() # グラフを表示 if __name__ == "__main__": main()
このコードをファイルに保存して実行すると、次のグラフが画面に表示されます。
上のコードで読み込んだNumPyとMatplotlibは、とてもポピュラーなサードパーティライブラリです。Pythonでプログラムを書く際には、どんな機能がどのライブラリによって提供されているか、その利用のためには他にどのライブラリの機能を用いるか、の知識が欠かせません。でも慣れれば、ここまで整理しなくても自然に書けるので、煩雑に感じないでください。