gpt4 book ai didi

python - Sympy:使用 sympify 将自定义函数减少为字符串?

转载 作者:行者123 更新时间:2023-12-01 00:26:44 25 4
gpt4 key购买 nike

是否有包含自定义方法的 sympify() 字符串的解决方案?

Sympy 拥有漂亮的函数 sympify

  • 它可以将字符串简化为 sympy 函数简化所有表达式。不错!
  • 它允许将“sympify”功能添加为类。

这是官方示例。

from sympy import Matrix, sympify

class MyList1(object):
def __iter__(self):
yield 1
yield 2
return
def __getitem__(self, i): return list(self)[i]
def _sympy_(self): return Matrix(self)


local_dict= {"MyList1": MyList1}
print(sympify(MyList1())) # Matrix([[1], [2]])
print(sympify('MyList1()')) # MyList1()
print(sympify('MyList1()', locals=local_dict)) # <__main__.MyList1 object at 0x0000000006D0AA20>

最后两行不能被 sympify 减少——在 sympify 字符串时我们的类显然是未知的。将类(class)放入“本地”对我来说不起作用。

有没有减少字符串的解决方案?

<小时/>

最佳答案

我认为它做了你想要的...MyList1没有打印方法,但数据在那里:

>>> list(sympify('MyList1()', locals=local_dict))
[1, 2]

关于python - Sympy:使用 sympify 将自定义函数减少为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58521891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com