プログラミング工房 >

Pythonの部屋

Pythonについて

 充実した標準ライブラリやオブジェクト指向に対応した機能を持つ、Mac環境発祥のスクリプト言語。PerlやRubyと比較されることが多い。日本人の手による入門書が出版されたり、マイクロソフトの.NET Framework対応バージョンであるIronPythonが登場するなど、2006年あたりから注目度が上がってきている。

 対応プラットホーム: UNIX系OS、Windows、MacOS X など

 日本人向けポータル: Python Japan User's Group

Pythonニュース

2007/09/22

書籍 『Pythonチュートリアル』 発売

(目次)

1章 食欲をそそってみようか

2章 Pythonインタープリタの使い方

インタープリタの起動 / インタープリタとその環境

3章 気楽な入門編

Pythonを電卓として使う / プログラミング、はじめの一歩

4章 制御構造ツール

if文 / for文 / range()関数 / break文とcontinue文、ループにおけるelse節 / pass文 / 関数の定義 / さらに関数定義について

5章 データ構造

リストについての補足 / del文 / タプルとシーケンス / 集合(set) / ディクショナリ / ループのテクニック / 条件についての補足 / シーケンスやその他の型の比較

6章 モジュール

さらにモジュールについて / 標準モジュール / dir()関数 / パッケージ

7章 入出力

手の込んだ出力フォーマット / ファイルの読み書き

8章 エラーと例外

構文エラー / 例外 / 例外の処理 / 例外の送出 / ユーザー定義例外 / クリーンアップ動作の定義 / オブジェクトに定義してあるクリーンアップ動作(Python 2.5以降)

9章 クラス

用語について一言 / Pythonにおけるスコープと名前空間 / はじめてのクラス / その他いろいろ / 継承 / プライベート変数 / 残り物あれこれ / 例外もまたクラスである / 反復子(iterator) / ジェネレータ / ジェネレータ式

10章 標準ライブラリめぐり

OSインターフェイス / ファイルのワイルドカード / コマンドライン引数 / エラー出力のリダイレクト(行き先を変えること)とプログラムの終了 / 文字列パターンマッチング / 数学 / インターネットへのアクセス / 日付と時間 / データ圧縮 / パフォーマンス計測 / 品質管理 / 電池付属です

11章 標準ライブラリめぐり―Part II

出力整形 / テンプレート / バイナリデータレコードの処理 / マルチスレッド / ログ取り / 弱参照 / リスト操作のツール / 10進数の浮動小数点計算

12章 次はなに?

付録A 対話環境での入力行編集とヒストリ置換

行編集 / ヒストリ置換 / キー割り当て / 注釈

付録B 浮動小数点演算: その問題と限界

表現誤差

付録C 歴史とライセンス

このソフトウェアの歴史 / Pythonへのアクセスその他の使用における条件 / 含有されるソフトウェアについてのライセンスおよび承認書

付録D 用語

付録E Python初心者だった頃―みんながひっかかるPythonのヘンなとこ

most recent call lastってなんぢゃ / 「エンコード」と「デコード」 / 日本語処理はどうなのか / なんだよこの正規表現は / インタラクティブヘルプが使えない

付録F 日本語環境

内部処理コード / ソースコード・エンコーディング / 入出力データのエンコーディング

過去のPythonニュース

Python Tips

コマンドライン引数の取得
ファイル分割(スクリプト挿入)

IronPython関連

[ IronPythonとは ]

 .NET Frameworkのクラスライブラリを手軽に利用できることが特徴のマイクロソフト製Python。IronPython 自体も.NETアプリケーション。Pythonはスクリプト言語の中でも文法が簡単なことで有名なので、気軽に.NETプログラミングを楽しむための環境としておすすめ。

サンプル・Tips

入手とインストール
IronPython入門
スクリプトから実行ファイルを作成する

サンプルアプリケーション

付箋紙風メモソフト

参考資料

.NETの部屋

おすすめPython関連ツール

エディタ

JmEditor
RDE
Notepad++

v4.5対応ランゲージファイル

標準添付のenglish.xmlと公式サイトで公開されているjapanese.xmlをベースに作ったものですが、翻訳済みの部分も自分の好みに合わせて改変しています。nativeLang.xmlにリネームしてインストールフォルダに置いてください。

過去のPythonニュース

2007/6/26

書籍 『Python クックブック 第2版』 発売

(目次)

テキスト / ファイル / 時間とお金 / ショートカット / サーチとソート / オブジェクト指向プログラミング / 永続性、データベース / デバッグとテスト / プロセスとスレッド、その同期 / システム管理 / ユーザインタフェース / XMLの処理 / ネットワークプログラミング / ウェブプログラミング / 分散プログラミング / Pythonと日本語処理について

2007/4/5

書籍 『IronPythonの世界』 発売

(目次)
Part1 IronPythonとは

IronPythonの歴史、CLIと.NET FrameworkそしてIronPython、IronPythonのアーキテクチャ、IronPython環境の構築、IronPythonのライセンスについて
Part2 IronPythonを動かしてみる
IronPythonの起動と環境の表示、プログラミングの基本、インタラクティブシェルのコマンドラインオプション、IronPythonと日本語
Part3 CPythonとの互換性
組み込みのデータ型、関数、ファイル処理、組み込みモジュール、CPythonのライブラリを利用する、プログラムを短くするテクニック、オブジェクト指向
Part4 .NET Frameworkのライブラリを利用する
IronPythonから.NET Frameworkへのシームレスな連係、.NET Frameworkのライブラリを使う準備、ファイル入出力を使う:System.IOネームスペース、正規表現:Reモジュール、Windows Formsを使ったGUIアプリの構築、WPFを使ったGUIアプリの構築、イベントハンドラを使う
Part5 IronPythonでDB&Webプログラミング
データベースプログラミング、インターネットにアクセスする、WebサービスAPIとの連係、XMLやHTMLを使う、Webアプリケーションを作る
Part6 もっとIronPythonを使いこなすために
ソースコードを探索しよう、IronPythonに独自モジュールを追加しよう、.NET Framework対応の言語からIronPythonを使う、COM相互運用アセンブリを使う、デバッグの方法


入手とインストール

ダウンロード

 公式ページを開くと右上に「Current Release」という欄があるので、そこの「1.1 Production」(1.1は2007/05/02現在の最新バージョン。Productionは正式版の意味)というリンクをクリックします。サイトにアクセスする時はJavaScriptをオンにしておいて下さい。

 次のページにある「IronPython-1.1-Bin.zip」というリンクをクリックすると利用規約を確認するためのダイアログが表示され、「I Agree」ボタンを押すとダウンロードが始まります。


インストール

 ダウンロードしたファイルをダブルクリックしてできるフォルダの中に「IronPython-1.1」というフォルダがあるので、これを任意の場所に移動します。インストーラはありません。インストールフォルダにPATHを通したり、拡張子の関連付けを設定する作業は自分で行う必要があります。


動作テスト(スクリプトの実行方法)

 インストールフォルダ(ipy.exeがあるフォルダ)に「test.py」という名前のファイルを作成し、それをテキストエディタで開きます。

 エディタに以下のスクリプトを入力してファイルを保存します。(このファイルは動作テストが終わったら削除してかまいません)

print 'Hello, IronPython!'

 インストールフォルダをカレントディレクトリにしてコマンドプロンプトを起動します。(またはコマンドプロンプトを起動してカレントディレクトリをインストールフォルダにセット)

 コマンドプロンプトに以下のコマンドラインを入力して実行します。

ipy.exe test.py

 コマンドプロンプトに「Hello, IronPython!」と表示されればテストは成功です。

 カレントディレクトリってなに?、とかカレントディレクトリを意識したくないという場合は、ファイル名をフルパスで入力すれば大丈夫です。またコマンドプロンプトではなく、コマンドラインを実行できる他のソフトでも実行できますし、拡張子の関連付けが設定済みであれば、スクリプトファイルをダブルクリックして実行することもできます。

 引数付きでスクリプトを実行したい場合は、コマンドラインのスクリプトファイル名の後に続けて指定します。

ipy.exe test2.py p1 "p 2"


スクリプトから実行ファイルを作成する

(2007/06/02更新)

コンパイラスクリプトの入手

 IronPython用のスクリプトは、公式サイトで公開されている「pyc.py」というサンプルスクリプトを使って、EXEファイルやDLLなどの.NETアセンブリにコンパイルすることができます。

 2007/05/26現在の最新版はIronPython 1.0.1用で(1.1でも動作します)、こちらのページからダウンロードできます。「IronPython-1.0.1-Samples-Pyc.zip」または「IronPython-1.0.1-Samples-All.zip」に含まれています。


コンパイル

 ダウンロードした「pyc.py」を任意の場所に置き、コマンドプロンプトなどから以下のコマンドラインを実行します。(「pyc.py」をコンパイルしたいスクリプトと同じフォルダに置き、そのフォルダをカレントディレクトリとしてコマンドプロンプトを起動すると、コマンドラインの入力が楽です)

ipy.exe pyc.py /main:main_scirpt

 ipy.exeはPATHが通った場所やカレントディレクトリにない場合はフルパスで指定します。main_scirptはコンパイルするスクリプト名に置き換えて入力します。pyc.pyとmain_scirptもカレントディレクトリにない場合はフルパスで指定します。

 また、プログラムが複数のスクリプトからなる場合は、以下のようにすべてのスクリプト名を入力する必要があります。main_scirptには必ず最初に実行するスクリプトを指定して下さい。

ipy.exe pyc.py /main:main_scirpt sub_script_1 sub_script_2

 以上のようなコマンドラインを実行すると、コンパイルしたスクリプトがある場所にmain_scirptと同名で拡張子だけが違うコンソールアプリケーションの実行ファイルが作成されます。

 コンソールアプリケーションではなく、ウィンドウズアプリケーションやDLLを作成する場合はコマンドラインに「/target」オプションを加えます。

ipy.exe pyc.py /main:main_scirpt /target:winexe
ipy.exe pyc.py /main:main_scirpt /target:dll

 コンソールアプリケーションとしてコンパイルした場合でも、Windows FormsなどのGUIライブラリは問題なく使用できますが、プログラムの実行時にコンソールウィンドウが表示されてしまいます。

 出力する実行ファイルの名前や作成場所を特に変更したい場合は、コマンドラインに「/out」オプションを加えます。ファイル名の拡張子は省略できません。ファイル名のみを指定すると、カレントディレクトリに作成されます。

ipy.exe pyc.py /main:main_scirpt /target:winexe /out:ipyapp.exe
ipy.exe pyc.py /main:main_scirpt /target:winexe /out:c:\out\ipyapp.exe

 作成した実行ファイルの動作には最低IronMath.dll、IronPython.dllおよび.NET環境が必要です。


Tips

 メインのスクリプトの中身が「if __name__ == '__main__':」ブロックの中に書かれていると、実行ファイル実行時にはまったく実行されずにプログラムが終了してしまうので、メインスクリプトには「if __name__ == '__main__':」は書かない方が無難です。


付箋紙風メモソフト - cMemo

(2007/07/19更新)

プログラムについて

 いわゆる付箋紙風のメモソフトです。ユーザインターフェイスは個々のメモを表すウィンドウとタスクトレイアイコンからなっています。

 >> ソースアーカイブのダウンロード
 >> 関連ページ: Windows用フリーウェア - cMemo


添付Readme

-- cMemo ver.0.3 ソーススクリプト readme --

(2007/7/19作成)

●注意

このスクリプトはIronPython専用です。IronPythonが動作する環境でしか実行できません。メインのスクリプトはcmemo.pyです。

スクリプトから実行ファイルを作成する場合、コンパイル前にcmemo_app.py内のCmemoAppクラス冒頭の「IS_DEBUG = 1」の部分を「IS_DEBUG = 0」に修正する必要があります。

実行ファイルの作成方法については、http://lldev.jp/python/index.html#ipy_pycなどを参考にして下さい。

●動作確認環境

Windows XP Pro SP2 / .NET Framework 2.0 / IronPython 1.1

●使用条件

このアーカイブに含まれるスクリプトおよびアイコンは目的にかかわらず自由に利用していただいてかまいません。そのための条件は以下の2つのみです。

スクリプトおよびアイコンを利用したことによる損害等について、作者は責任を負わないものとします。各自の責任においてご利用下さい。

このアーカイブをオリジナルのままの形で転載・再配布することは禁止します。特にスクリプトおよびアイコン【以外】のファイルの転載・再配布はおやめ下さい。

●ファイル一覧

src_readme.txt ... このファイル
readme.txt ... プログラム用Readme(マニュアル)
cmemo_nicon.ico ... タスクトレイ用アイコン
cmemo_icon.ico ... Alt+Tabキーで表示されるウィンドウ一覧で使用されるアイコン

cmemo.py ... メインスクリプト
cmemo_app.py ... プログラム全体で使われる定数、サブルーチンなどを含むクラス
cmemo_cmdmenu.py ... メモ操作用メニューを作るためのクラス
cmemo_memo.py ... 個別のメモおよび作成済みのメモのリストを管理・操作するためのクラス
cmemo_nicon.py ... タスクトレイアイコン管理クラス
cmemo_tbox.py ... テキストボックス管理クラス
my_textbox.py ... 汎用のテキストボックス管理クラス


ソースを見る

cmemo.py
cmemo_app.py
cmemo_cmdmenu.py
cmemo_memo.py
cmemo_nicon.py
cmemo_tbox.py
my_textbox.py