-
1.メリット
-
クオリティ
-
読みやすさ、整合性を重視
- 他のスクリプト言語と異なる
- 保守し易い
- 他人が書いたものでも理解し易い
- fit your brain
- 分かり易く明晰であることが優先される
-
オブジェクト指向
- 再利用が容易
- モジュール化
-
生産性
- コード量はC++、Javaに比して1/3~1/5
-
不況の今では同じ仕事を以下に少ない人数でこなすかが重要
- 分かり易い文法
- ダイナミックな型づけ
- コンパイル不要
-
ポータビリティ
- 修正することなく複数のプラットフォームで動く
- 充実したライブラリ
-
コンポーネントの統合
- C、C++のライブラリ呼び出し
- Javaコンポーネント統合
- 楽しい
-
2.Pythonについて
-
ユーザー
- Goole
-
Intel,Cisco,HP,Seageate,Qualcomm,IBM
- ハードウェアテストに使用
-
NASA,ロスアラモス国立研究所,フェルミ研究所
- 科学研究用
-
NSA
- 暗号、情報分析
-
JPMorgan Chase,UBS,Getco,Citadel
- 金融市況予測
-
ILM,Pixar
- アニメーション製作
- BitTrrent
-
何ができる?
- システムプログラミング
-
GUI
- Tkinter
- インターネットスクリプイティング
- コンポーネント統合
-
データベースプログラミング
- 標準モジュール pickle で永続化が簡単にできる
-
ラピッドプロトタイピング
- Pythonコンポーネントから、C,C++へシームレスな置き換えが可能
-
数値計算
- NumPy
- ゲーム、画像処理、AI、XMLその他
-
長所
-
オブジェクト指向
- ポリモーフィスム、演算子オーバーロード、多重継承
- フリー
- ポータブル
-
高機能
-
ダイナミックな型付け
- データ型の宣言がない
- あらゆる種類のオブジェクトに対応できる
- 自動メモリ管理
- 大規模システム開発サポート
- オブジェクト型の操作機能
- ライブラリユーティリティ
- サードパーティユーティリティ
- 他言語との連携が容易
-
使い易い
- 実行可能な擬似コードとまで呼ばれる
- 学習し易い
-
3.Pythonプログラムの実行
-
Pythonインタープリタ
- ソースコードは慣例的に .py
- Pythonインタープリタは、ソースコードをバイトコードにコンパイルする
- システムへの書き込み権限があればバイトコードは、.pycとして保存される。ない場合はメモリ上で実行後破棄
- .pycが保存されるのはimportされる場合のみ。トップレベルは保存されない
- 次回の実行からは保存されたバイトコードが実行される。
- ソースが変更された場合(タイムスタンプによる比較)再コンパイル
- Python仮想マシン(PVM)
-
Pythonシステムの種類
-
CPython
- オリジナルかつ標準
- ANSI C言語で書かれている
-
Jython
- PythonとJavaの統合
- PythonのソースをJavaのバイトコードにコンパイル
-
IronPython
- Pythonと.Netの統合
-
実行最適化ツール
- Psyco(JITコンパイラ)
-
Shedskin C++トランスレータ
- PythonのソースコードをC++に変換
-
フローズンバイナリ
- プログラムのバイトコード、PVM、プログラムが必要なあらゆるファイルをバンドル
- 最終的に1つのexeファイルに
- py2exe
- pyInstaller
- freeze
-
4.プログラムの起動方法
- 対話型プログラミング
-
プログラム(モジュール)ファイル
- 通常ファイルに記録されたコード
- トップレベルのコードをスクリプトとよび、そこからインポートされるものをモジュールと呼ぶ人もいる