猫型エンジニアのブログ

プログラム/ネットワーク系の技術関連をまとめたページです 

2013-12-31から1日間の記事一覧

デコレータ その3

デコレータに引数がある場合の処理です。以下のようにデコレータの引数を処理するために、ネストをもう一段深くします。 実効結果からデコレータの引数の?が末尾に追加されているのが見て取れます。 #deco4.py def print_is_a_(arg): def _add_string(functi…

文法の基本

lambd式

labmda式を用いることで、無記名関数を利用することができます。 lambda arguments: expression 以下のコードで定義される関数と同様に動作します。 def name(arguments): return expression 使用例 >>> def add(x, y): ... return x*y ... >>> add(2, 3) 6 …

__call__メソッドについて

__call__()メソッドを定義した場合、関数が呼び出せるのと同じようにクラスのインスタンスを呼び出せるようになります。 __call__()メソッド定義時 >>> class Test(object): ... def __init__(self): ... print "__init__" ... def __call__(self): ... prin…