2011-08-06 1 views
3

誰かが簡単に(別のメソッドを作成せずに)メソッドのエイリアスを作成する方法についてアイディアを持っていたのでしょうか?私が何を意味しているかを実証するための例(オブジェクトのエイリアスはどういうふうにかまいませんが、明らかに機能しません)。エイリアスメソッドと静的引数も渡します

# Short and to the point 
# Normal: alias = method 
alias = method("static", arguments) 

答えて

7
from functools import partial 
alias = partial(method, 'static') 

か、遅いが輸入なし:

alias = lambda *args, **kwargs: method('static', *args, **kwargs) 

partialは、まさにこの目的のためです。あらかじめ定義された引数や変更された引数をインターリーブする必要がある場合は、lambdaメソッドは少し柔軟です。

+0

ああ、ありがとう! –

関連する問題