【发布时间】:2016-09-24 18:43:19
【问题描述】:
是否可以使用某些关键字参数定义一个函数,然后引用同一个函数,但使用不同的关键字参数值。
例如我有以下
def f_beta(x,a=2.7,b=3.05):
"""The un-normalised beta distribution function."""
return math.pow(x, a - 1.0)*math.pow(1.0 - x, b - 1.0)
我想做一些相当于:
f = f_beta
g = f_beta(a=1.0, b=10.0)
其中f 是初始函数的副本,g 是相同的函数,但关键字参数的默认值不同。有没有办法为g 执行此操作,而无需将f_beta this 构建到一个类中,也无需重新编写各种函数。
动机:
我创建了一个具有成员函数init_dist 的类,在某些时候我在__init__() 中通过以下方式定义:
self.init_dist = f_beta
并且希望能够传入一个新函数。
我看过以下内容:
并且没有找到任何答案,或者我应该在哪里寻找参考资料。
【问题讨论】:
标签: python function inheritance keyword-argument