初めてのPython(1章)

RedHatディストリビューションのツールでよく使わわれているPythonを勉強する。
AnacondaとかYumとか普段使っている物がどんなものか理解しておきたいから。

Pythonの特徴

  1. コードが読みやすい
  2. ライブラリが豊富
  3. プラットフォーム間でコード修正不要

こういった特徴の他にも、

  • オブジェクト指向
  • 変数宣言不要(ダイナミックな型付け)
  • ガーベージコレクションが自動的に行われる
  • ビルドインのデータ型が豊富
コードが読みやすい

以下の基本方針に基づいているから、属人的なコードになりにくい(Perlとは逆らしい)

  1. ミニマリスト的」アプローチ
  2. 言語の各要素の組み合わせ方に一貫性があり、組み合わせの種類も少ない
  3. 暗黙よりも明示(Explict Is Better Than Implict)、複雑よりも単純を志向する

今は実感がわかないが、そのうち体感するんだろうなぁ。
現時点で判ってることは、インデントでブロックを管理するから、条件分岐とかが理解しやすそうってこと。

ライブラリが豊富

標準ライブラリも充実している上に、サードパーティーのライブラリも
標準ライブラリだけでもいろいろなことが出来る。

  • OSレベルのサービスへのアクセス
  • ネットワークアクセス
  • DBアクセス
  • 正規表現処理

サードパーティー製を使うと、より高速に処理が出来たり、簡単に処理が出来たりする。
Pythonフレームワーク(Django, TurboGears, Zope)もあり、Webサイト構築もPythonだけで実現可能。

プラットフォーム間でコード修正不要

実行形式がバイトコードPythonインタプリタで実行するおかげで、各プラットフォームに応じた形式で実行できる。
あと、プラットフォーム依存部分はライブラリのおかげで抽象化できることもあるのかな。

中間コードを実行するって所は、Javaと同じ(Pythonインタプリタだから厳密にいうと違うのかも)

中間コードを吐いて、インタプリタで実行する方式だから、実行速度は上げられない。
でも、速度を求めなければ良い訳だし、
速度が必要な部分だけC/C++とかで書いて、モジュールとして実行すればある程度は解決できたりする。