Pythonの概要
Python(パイソン)はインタープリタ型の高水準汎用プログラミング言語である。
特徴
Pythonはインタプリタ上で実行することを前提に設計している。以下の特徴をもっている:
- 動的な型付け
- ガベージコレクション
- マルチパラダイム
- モジュール・クラス・オブジェクト等の言語の要素が内部からアクセス可能であり、リフレクションを利用した記述が可能。
設計思想
Pythonの哲学は「あることをなすのに唯一の良いやり方があるはず」
標準ライブラリ
Pythonには「電池付属 ("Battery Included")」という思想があり、プログラマがすぐに使えるようなライブラリや統合環境をあらかじめディストリビューションに含めるようにしている。このため標準ライブラリは非常に充実している
- 正規表現
- OSのシステムコール
- XML処理系
- シリアライゼーション
- HTTP, FTP等の各種通信プロトコル
- 電子メールやCSVファイルの処理
- データベース接続 (SQLiteを標準で扱える)
- GUIフレームワーク (Tkinter)
- HTMLのパーサー
- Python自身のコードの構文解析ツール
ライブラリ
Pythonは多様なコミュニティライブラリがある。
- 数値計算
- 行列演算パッケージの NumPy
- プログラミング数学、科学、工学のための数値計算 SciPy
- 機械学習・データサイエンス・AI
- scikit-learn
- TensorFlow
- PyTorch
- データ解析ソフト pandas
- グラフ表示ソフト Matplotlib
- 描画ソフト Seaborn
- データ処理インタフェース IPython
- 数式処理機能 SymPy
- データ処理の高速化 PyPy
- Pythonアプリのコンパイルによる高速化 Numba
- 画像処理のための Python Imaging Library
- SDLのラッパである Pygame
- スクレイピングライブラリ Beautiful Soup
- クローリング、スクレイピング用のpythonフレームワーク Scrapy
- 離散事象シミュレーション SimPy
- OpenCLへのインタフェース pyOpenCL
- OpenGLへのインタフェース pyOpenGL
- OpenCVへのインタフェース pyOpenCV
- CUDAへのインタフェース pyCUDA
- 3Dグラフィックスやアニメーション VPython
- PyODE
- Python(x,y)
- Webアプリケーションフレームワーク
- Bottle(ボトル) - https://bottlepy.org/docs/dev/
- CherryPy(チェリーパイ) - https://cherrypy.org/
- Django(ジャンゴ) - https://www.djangoproject.com/
- Flask(フラスク) - http://flask.pocoo.org/
- Pyramid(ピラミッド) - https://pylonsproject.org/projects/pyramid/
- Plone(プローン) - https://plone.org/
- Tornado (Webサーバ)(トルネード) - https://sites.google.com/site/tornadowebja/
- Cyclone(C10K問題対応)(サイクロン) - http://cyclone.io/
参考
※利用の項目を読む良い