2009-01-01から1年間の記事一覧
import atexit from winsound import * atexit.register(MessageBeep({引数})) #処理開始 でOK、ウィンドウズでは。 以下は私の環境で発せられる音。 引数 音 無し MB_OKに同じ -1 『単純なビープ音』(MB_OKと同じ) MB_OK 一般の警告音「コン!」 MB_ICONA…
『Rubyによるデザインパターン』(ラス・オルセン著 ピアソン・エデュケーション刊)の例をPythonに変換して書いています。目次 メタプログラミングパターン (1) 特異メソッド メタプログラミングパターン (2) メソッドの自動定義 メタプログラミングは動的…
『Rubyによるデザインパターン』(ラス・オルセン著 ピアソン・エデュケーション刊)の例をPythonに変換して書いています。目次 メタプログラミングパターン (1) 特異メソッド メタプログラミングパターン (2) メソッドの自動定義 メソッドを自動的に定義す…
内部DSLパターン でも書きましたが、Pythonでもwith文を使えば、Rubyのブロックと似たような事が出来ます。 しかし、with文コンテキストマネージャには、__enter__、__exit__メソッドを定義しなければならないのが面倒です。 そこで、contextlib.contextmana…
『Rubyによるデザインパターン』(ラス・オルセン著 ピアソン・エデュケーション刊)の例をPythonに変換して書いています。目次 内部DSLパターン (1) 内部DSLパターン (2) ブロック 今回は、内部DSL(ドメイン特化言語)パターンです。 前回のInterpreterパ…
『Rubyによるデザインパターン』(ラス・オルセン著 ピアソン・エデュケーション刊)の例をPythonに変換して書いています。目次 内部DSLパターン (1) 内部DSLパターン (2) ブロック Rubyが内部DSLに向いている一つの理由は、ブロック構文の存在です。 Python…
Rubyによるデザインパターンが終わったら、書くことが無くなってしまう。
集合αが、自然数であるとは、αが順序数であり、任意のβ≦αは超限順序数ではないこと。 要するに、 0 = φ1 = {0} = {φ}2 = {0, 1} = {φ, {φ}}3 = {0, 1, 2} = {φ, {φ}, {φ, {φ}}} ・・・と、言うのを、先日のセミナーで勉強しました。 しかし、ラムダ計算を使…
『Rubyによるデザインパターン』(ラス・オルセン著 ピアソン・エデュケーション刊)の例をPythonに変換して書いています。目次 Interpreterパターン (1) Interpreterパターン (2) ファイル検索用言語 Interpreterパターン (3) ASTを手に入れる 周知の通り、…
『Rubyによるデザインパターン』(ラス・オルセン著 ピアソン・エデュケーション刊)の例をPythonに変換して書いています。目次 Interpreterパターン (1) Interpreterパターン (2) ファイル検索用言語 Interpreterパターン (3) ASTを手に入れる Interpreter…
『Rubyによるデザインパターン』(ラス・オルセン著 ピアソン・エデュケーション刊)の例をPythonに変換して書いています。目次 Interpreterパターン (1) Interpreterパターン (2) ファイル検索用言語 Interpreterパターン (3) ASTを手に入れる Interpreter…
raise NotImplementedError を間違えて、 raise NotImplemented と、書いたら、エラーになりました。 TypeError: exceptions must be classes or instances, not NotImplementedType NotImplementedとは、なんぞや?と、リファレンスを引いてみたところ・・…
『Rubyによるデザインパターン』(ラス・オルセン著 ピアソン・エデュケーション刊)の例をPythonに変換して書いています。目次 Builderパターン(1) Builderパターン(2) ポリモーフィックなBuilder Builderパターン(3) Builderでオブジェクトの妥当性を保証…
『Rubyによるデザインパターン』(ラス・オルセン著 ピアソン・エデュケーション刊)の例をPythonに変換して書いています。目次 Builderパターン(1) Builderパターン(2) ポリモーフィックなBuilder Builderパターン(3) Builderでオブジェクトの妥当性を保証…
『Rubyによるデザインパターン』(ラス・オルセン著 ピアソン・エデュケーション刊)の例をPythonに変換して書いています。目次 Builderパターン(1) Builderパターン(2) ポリモーフィックなBuilder Builderパターン(3) Builderでオブジェクトの妥当性を保証…
『Rubyによるデザインパターン』(ラス・オルセン著 ピアソン・エデュケーション刊)の例をPythonに変換して書いています。目次 Builderパターン(1) Builderパターン(2) ポリモーフィックなBuilder Builderパターン(3) Builderでオブジェクトの妥当性を保証…
『Rubyによるデザインパターン』(ラス・オルセン著 ピアソン・エデュケーション刊)の例をPythonに変換して書いています。目次前項でBuilderパターンについて書きましたが、 ComputerBuilderを作っても、まだ、 builder.set_turbo() builder.add_dvd() buil…
PythonRecipe の『015:特異メソッド』に、 ここに先日書いた記事『Pythonで特異メソッド』 の内容を書き加えました。 特に注意書きはなかったようだけど、勝手に書き込んだりしてよかったのかな? 追記:fgshunさんによると、一見さんも歓迎だそうです
『Rubyによるデザインパターン』(ラス・オルセン著 ピアソン・エデュケーション刊)の例をPythonに変換して書いています。目次 Factoryパターン(1) - Factory Method Factoryパターン(2) - 引数にクラスを渡すFactory Method Factoryパターン(3) - Abstract…
『Rubyによるデザインパターン』(ラス・オルセン著 ピアソン・エデュケーション刊)の例をPythonに変換して書いています。目次 Factoryパターン(1) - Factory Method Factoryパターン(2) - 引数にクラスを渡すFactory Method Factoryパターン(3) - Abstract…
Factoryパターン(1) - Factory Method Factoryパターン(2) - 引数にクラスを渡すFactory Method Factoryパターン(3) - Abstract Factory Factoryパターン(4) - 引数にクラスを渡すAbstract Factory Template MethodパターンをStrategyパターンに書き換えられ…
Factoryパターン(1) - Factory Method Factoryパターン(2) - 引数にクラスを渡すFactory Method Factoryパターン(3) - Abstract Factory Factoryパターン(4) - 引数にクラスを渡すAbstract Factory 前回、Abstract Factroyクラスを作りました。こんどは、そ…
Python Programming Language -- Official Website まずはこのサイトのDownloadから、 Python2.6(2009/06/26現在)をダウンロード Pythonドキュメント翻訳プロジェクト リファレンスには、CHM形式が関数名から検索できるので便利です。 Pythonチュートリア…
『Rubyによるデザインパターン』(ラス・オルセン著 ピアソン・エデュケーション刊)の例をPythonに変換して書いています。目次 Strategyパターンでは、他のオブジェクトに委譲する事で、アルゴリズムを動的に変更することをしました。たとえば、HTMLを出力…
ところで、自動委譲と__getattr__の方法1・方法2にはちょっとした欠陥があります。 w = WriterDecorator1(SimpleWriter("test.txt")) print(w.writeline) # => <bound method SimpleWriter.writeline of <SimpleWriter object at 0x00B008B0>> WriterDecorator1のメソッドのはずなのに、SimpleWriterのメソッドの名前が表示されて</bound>…
『Rubyによるデザインパターン』(ラス・オルセン著 ピアソン・エデュケーション刊)の例をPythonに変換して書いています。目次 Singletonパターン (1) Singletonパターン (2) - ぜ〜んぶクラスメソッド Singletonパターン (3) - モジュール Singletonパター…
Singletonパターン (1) Singletonパターン (2) - ぜ〜んぶクラスメソッド Singletonパターン (3) - モジュール Singletonパターン (4) - メタクラスを使った方法 Singletonパターン (5) - Borgの方法 Pythonにはクラスメソッドがあります。クラスメソッドは…
Singletonパターン (1) Singletonパターン (2) - ぜ〜んぶクラスメソッド Singletonパターン (3) - モジュール Singletonパターン (4) - メタクラスを使った方法 Singletonパターン (5) - Borgの方法 実はPythonには、どんなクラスも簡単にSingleton化する方…
Singletonパターン (1) Singletonパターン (2) - ぜ〜んぶクラスメソッド Singletonパターン (3) - モジュール Singletonパターン (4) - メタクラスを使った方法 Singletonパターン (5) - Borgの方法 Singletonにはサブクラス化したとき、 各サブクラス毎に…
Singletonパターン (1) Singletonパターン (2) - ぜ〜んぶクラスメソッド Singletonパターン (3) - モジュール Singletonパターン (4) - メタクラスを使った方法 Singletonパターン (5) - Borgの方法 クラスはインスタンスの生成装置だと言えます。そしてク…