blog.fuktommy.com

メソッドチェインツール改

割と汎用のメソッドチェインツール」 の改良版です。 今までは関数のみしか扱えなかったのですが、 対象オブジェクトのメソッドを扱えるようにしました。 パターンは、メソッドの返値を扱うタイプと、 メソッドの副作用で変化したオブジェクト自体を扱うタイプの2種類です。

methodchain.py

こんな感じで使います。

>>> import methodchain

# 例でmathモジュールを使うためです。
>>> import math

# メソッドチェインの例。pipeとfuncは同じです。
>>> pack(3).pipe(math.pow, 6).func(math.sqrt).unpack()
27.0

# パックしたオブジェクト('spam')のメソッド(upper)を呼び出す例。
>>> pack('spam').method('upper').unpack()
'SPAM'

# パックしたオブジェクト自体に副作用をかけていく例。
>>> pack(list('spam')).obj('sort').obj('reverse')
['s', 'p', 'm', 'a']

# パックした中身の属性も使えます。
>>> pack('spam').upper()
'SPAM'

# 中身の属性を利用した型変換の例。
>>> int(pack(9))
9
Copyright© 1998-2014 Fuktommy. All Rights Reserved.
webmaster@fuktommy.com (Legal Notices)