将公式作为python中的函数参数传递

西蒙

我想在Python的函数参数中传递一个公式,其中该公式是其他函数参数的组合。原则上看起来像这样:

myfunction(x=2,y=2,z=1,formula="x+2*y/z")
6

或更笼统地说:

def myformula(x,y,z,formula):
   return formula(x,y,z)

这将允许用户选择x,y和z方面的任何算术表达式,而无需创建新函数。

我预见到的可能性之一是在函数中的代码行中转换字符串。Python中有没有可能?还是其他想法?谢谢

忘了它

使用sympy,您可以评估数学表达式:

import sympy as sy

def myformula(formula, **kwargs):
    expr = sy.sympify(formula)
    return expr.evalf(subs=kwargs)

print(myformula(x=2,y=2,z=1,formula="x+2*y/z"))
# 6.00000000000000

print(myformula(x=2,y=2,z=1,formula="sin(x+y-z)"))
# 0.141120008059867

但是请注意,sympy.sympify确实会使用eval它,因此将其应用于任意用户输入是不安全的,因为可以组合字符串来欺骗eval执行任意Python代码

一种更安全的选择是构建一个解析器来解析严格受限的数学表达式。这里有一些例子

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将公式作为python中的函数参数传递

来自分类Dev

将函数参数作为公式传递

来自分类Dev

将函数作为其他函数python中的参数传递

来自分类Dev

Python:将元组作为函数中的参数传递

来自分类Dev

将列表作为普通参数传递给python中的函数

来自分类Dev

将函数作为APL中的参数传递

来自分类Dev

将函数作为类中的参数传递

来自分类Dev

将结构作为函数中的参数传递

来自分类Dev

将枚举作为函数中的参数传递

来自分类Dev

在python中传递函数作为参数

来自分类Dev

将字典作为参数传递给python中的函数,其中参数本身就是函数

来自分类Dev

将函数参数作为参数传递给python中的另一个函数

来自分类Dev

将函数作为参数传递

来自分类Dev

将函数作为参数传递

来自分类Dev

将匿名函数作为参数传递给Erlang中的函数?

来自分类Dev

在Python中,将参数作为函数内的字符串传递给函数

来自分类Dev

如果传递的函数也将函数作为参数,如何将函数作为参数传递给C中的函数?

来自分类Dev

将.txt文件中的每一行作为python函数中的参数值传递/缩进

来自分类Dev

将文件和值作为参数传递给python中的函数

来自分类Dev

如何将整个numpy数组作为python中的参数传递给用户定义的函数?

来自分类Dev

python-将dataframe列作为apply函数中的参数传递

来自分类Dev

将字典作为参数传递给python中的csv写入函数

来自分类Dev

Python:如何将列表作为参数传递给函数?

来自分类Dev

Python:将函数作为参数传递和多线程

来自分类Dev

将参数作为数据结构传递给Python函数

来自分类Dev

Python:将方法作为函数参数传递时的属性错误

来自分类Dev

将 Python 函数作为参数传递而不执行它?

来自分类Dev

Javascript,将类型作为函数中的参数传递

来自分类Dev

C将指针作为函数中的参数传递

Related 相关文章

  1. 1

    将公式作为python中的函数参数传递

  2. 2

    将函数参数作为公式传递

  3. 3

    将函数作为其他函数python中的参数传递

  4. 4

    Python:将元组作为函数中的参数传递

  5. 5

    将列表作为普通参数传递给python中的函数

  6. 6

    将函数作为APL中的参数传递

  7. 7

    将函数作为类中的参数传递

  8. 8

    将结构作为函数中的参数传递

  9. 9

    将枚举作为函数中的参数传递

  10. 10

    在python中传递函数作为参数

  11. 11

    将字典作为参数传递给python中的函数,其中参数本身就是函数

  12. 12

    将函数参数作为参数传递给python中的另一个函数

  13. 13

    将函数作为参数传递

  14. 14

    将函数作为参数传递

  15. 15

    将匿名函数作为参数传递给Erlang中的函数?

  16. 16

    在Python中,将参数作为函数内的字符串传递给函数

  17. 17

    如果传递的函数也将函数作为参数,如何将函数作为参数传递给C中的函数?

  18. 18

    将.txt文件中的每一行作为python函数中的参数值传递/缩进

  19. 19

    将文件和值作为参数传递给python中的函数

  20. 20

    如何将整个numpy数组作为python中的参数传递给用户定义的函数?

  21. 21

    python-将dataframe列作为apply函数中的参数传递

  22. 22

    将字典作为参数传递给python中的csv写入函数

  23. 23

    Python:如何将列表作为参数传递给函数?

  24. 24

    Python:将函数作为参数传递和多线程

  25. 25

    将参数作为数据结构传递给Python函数

  26. 26

    Python:将方法作为函数参数传递时的属性错误

  27. 27

    将 Python 函数作为参数传递而不执行它?

  28. 28

    Javascript,将类型作为函数中的参数传递

  29. 29

    C将指针作为函数中的参数传递

热门标签

归档