Pythonのsplat演算子
StackOverFlowで見つけて面白かったのでメモ
dictに*を1つつけるとキーが順番に渡されますが、2つつけるとキーと同名の引数に値が渡されるんですね
def draw_point(x, y): print x, y point_foo = (3, 4) point_bar = {'y': 3, 'x': 2} draw_point(*point_foo) # => 3 4 draw_point(*point_bar) # => y x draw_point(**point_bar) # => 2 3 # 余計なキーがあるとエラー point_bar = {'x': 1, 'y': 3, 'z': 2} try: draw_point(**point_bar) except TypeError, e: print e # => draw_point() got an unexpected keyword argument 'z'
覚えとこう
参考)
http://stackoverflow.com/questions/101268/hidden-features-of-python#111176