我试图编写一个包含一些数学函数的小Python模块。例如,它可能包含以下函数:
def quad(x, a, b, c):
return a*x**2 + b*x + c
您可能会注意到它包含几个参数(即。a, b, c
)除了变量{}。现在,如果我把它放在一个文件中并简单地导入它,最终用户将不得不总是用参数和变量调用函数。因此,我想创建一个这样的类:
^{pr2}$
因此,最终用户可以将其用作:
q = quad(p, q, r)
eq = q.eq
这样做对吗?我对题目感到非常抱歉,因为我想不出更好的题目了!在
Tags:
这似乎是对类的完美合理使用。实际上,当程序涉及可以建模为具有状态的对象时,应该考虑使用类。在这里,多项式的“状态”就是系数}。在
a
,b
,和{您还可以使用Python的
__call__
特殊方法来将类视为函数本身:还有另一种方法,可以稍微简洁一点,就是返回一个函数,并将这些系数放入其中。这本质上是一个讨好的例子,正如提克图拉提到的:
^{pr2}$或使用
lambda
语法:然后可以这样使用:
看起来您正在搜索类似currying的内容。在
或许this question可以帮你。在
相关问题 更多 >
编程相关推荐