我想知道是否有人对如何轻松地对一个方法进行别名(没有创建另一个方法)有任何想法,但也传递一个静态参数?一个例子(来自我们通常如何对对象进行别名 - 但显然不起作用)来证明我的意思。
# Short and to the point
# Normal: alias = method
alias = method("static", arguments)
答案 0 :(得分:7)
from functools import partial
alias = partial(method, 'static')
或者,速度较慢但没有进口:
alias = lambda *args, **kwargs: method('static', *args, **kwargs)
partial正是出于这个目的;如果您需要交错预定义和更改参数,lambda
方法会更灵活。