我试图找到一种干净的方法来处理不同的、互斥的函数输入。这个想法是我有一个返回 4 个值的函数(这些值通过数学方程链接),当您输入 4 个值之一时,它会返回所有值。
目前该功能的工作方式如下:
#example relations are simply: b=1+a, c=0.5*a, d=sqrt(a)
def relations(v, vtype="a"):
if vtype=="a":
a = v
elif vtype=="b":
a = v - 1
elif vtype=="c":
a = 2 * v
elif vtype=="d":
a = v ** 2
b = 1 + a
c = 0.5 * a
d = a ** 0.5
return a,b,c,d
用户通过字符串 vtype 指定输入变量是什么,并返回所有值。用户不可能输入多个不同的输入值(这将是多余的,因为所有未知数都可以从一个输入值确定)。
有没有更干净和pythonic的方式来做到这一点?目前用字符串指定输入变量感觉真的很脏。
提前致谢!