たろマーク (はてなブックマーク)
-
[ aws ][ python ]
-
[ mac ] AirPlay Mirroring いいなぁ。 Apple TV あるのに HDMI とかで TV に繋げるのだるいし。 Apple TV が mac から操作出来ればなぁ。
-
[ useragent ]
-
[ python ] easy_install って github とか指定できるのかと思ったら、自動生成された zip ファイルを指定してるのかー
« Google Calendar の内容を Spreadsheet へ流す script |
トップ
| import しようとするパッケージと実行しようとするファイル名がかぶると困ったことになる »
■ 引数付きの decorator
三重に関数をネストした decoration 用の関数を作る。
def deco(deco_arg):
def deco_inner(func):
def wrapper(*args, **kwards):
print "before wrapper: %s" % deco_arg
result = func(*args, **kwards)
print "after wrapper: %s" % deco_arg
return result
return wrapper
return deco_inner
んで、こうやると引数使って decorate できる。
@deco("boke")
def hoge(arg):
print "hoge: %s" % arg
hoge("aaa")
実行結果
before wrapper: boke hoge: aaa after wrapper: boke
実際にはこうやってるのと一緒。
def boo(arg):
print "boo: %s" % arg
_deco = deco("bbb")
b = _deco(boo)
b("aaa")
実行結果
before wrapper: bbb boo: aaa after wrapper: bbb






