【发布时间】:2021-01-08 19:06:20
【问题描述】:
我的目标是创建一个执行简单算术的 UDF。我希望该函数采用 2 个值,然后是运算符的字符串表示形式,例如“乘数”并在 x 到 y 上执行运算符。这是我第一次尝试,请原谅混乱。
def_myArithmetic(x, y, op):
op={'multiply': *, 'divide': /, 'add': +, 'subtract':-}
**some loop**
**return calculation**
到目前为止我所管理的
import operator
def do_arithmetic(x, y, op):
op={'multiply': operator.multiply,'divide': operator.divide,'add': operator.add ,'subtract': operator.subtract}
for i in range(x,y):
print (x, y)
使用这组代码在调用函数时会返回错误。
我知道这本词典不起作用。我相信这与在一个参考中拥有多个键有关吗?
我相信我在正确的行附近的某个地方,但显然不知道如何写这个。当我尝试实施我选择的规则时,有一些东西可以参考会很有帮助。
感谢您的反馈
【问题讨论】:
-
使用
operator模块。operator.add、operator.mul等 -
我可以要求一个 UDF 中的示例吗?
-
{'multiply': operator.mul, ...} -
你的字典是正确的方法,你只需要使用那些函数作为值。
-
这很有帮助,谢谢 Barmar
标签: python dictionary user-defined-functions