大家好,
我正在使用 sympy 进行研究,发现自己写了很多像 Integer(1)/k
这样的东西(实际上,这已经是 Integer(1)/Integer( k)
).
我想知道是否有一种方法可以将 python 的默认整数类与 sympy 中的整数类“monkeypatch”,这样我就可以只写 1/k
。
我尝试过重载 __builtins__.int
,但它并没有改变我想要的,只是改变了像 int(4)
这样的调用(另外还有一个最大递归问题,因为sympy 的 Integer
类使用了 int
,但这是不同的)。
有没有一种简单的方法(比如,没有 C 代码)来改变 python 解析代码的方式?
提前致谢:)
最佳答案
这似乎很难在不破坏其他一切的情况下做到。您看到的最大递归问题是第一个症状。
我可以建议一个更简单的方法:运行
I = sympy.Integer
作为你在文件/库中做的第一件事,然后你可以调用
I(1) / k
这更容易写。
关于python - Monkeypatch python的解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47619527/