【发布时间】:2020-05-02 19:37:37
【问题描述】:
我正在编写一个一次性脚本来计算一些我正在运行的模拟的分析解决方案。
我想以某种方式实现一个函数,该函数将根据其输入计算正确答案。例如,假设我有以下数学方程式:
tmax = (s1 - s2) / 2 = q * (a^2 / (a^2 - b^2))
对我来说,我应该能够做这样的事情似乎很简单:
def tmax(s1, s2):
return (s1 - s2) / 2
def tmax(a, b, q):
return q * (a**2 / (a**2 - b**2))
我可能已经习惯用julia 写作,但我真的不想让这个脚本变得过于复杂。
【问题讨论】:
-
我真的不知道你在问什么。您不能定义 2 个具有相同名称的函数。
-
@Julien 问题是询问multiple dispatch 的具体情况,其中只有参数的数量会影响要调用的实现,而不影响运行时类型。
-
@Julien 就像凤阳说的,这叫多分派,在python中是可以的,但是目前我读到的所有东西都需要外部包或者构建一个自定义类。我有一个次要但具体的用例。所以我想知道是否有语言固有的特性可以让我做到这一点。
标签: python function multiple-dispatch