pycharm 忽略命令 "integ()" from numpy.polynomial import Polynomialfunction / 在 jupyter 上有效

pycharm ignores command "integ()" from numpy.polynomial import Polynomialfunction / on jupyter it works

使用 pycharm 时,忽略 integ() 函数:

from numpy.polynomial import Polynomial as P

p = P([1, 2, 3])

p.integ()

print(p)

结果:1.0 + 2.0 x**1 + 3.0 x**2(无错误)

在 jupyter 上 它给了我正确的结果:↦0.0+1.0+1.02+1.03

但我真的更喜欢在 pycharm 上编写代码 - 谁能告诉我为什么会发生这种情况或我该如何更改它?

首先,请注意 p.integ() 不会更改 p。它 returns 一个新的多项式对象。当您在此表达式后执行 print(p) 时,您正在打印之前创建的原始 p

在交互式 shell 中,使用包含表达式(无赋值)的行 p.integ(),shell(即 Jupyter)打印表达式的值在终端。这是 Jupyter 的特性,而不是 Python 解释器的特性。当在程序中遇到这样的表达式时,Python 解释器计算该表达式,但不打印它。如果你想打印 p 的积分,你可以这样做

q = p.integ()
print(q)