我在 Pycharm 中调试 Python 程序时注意到一些事情。我使用形状为
(n,)
的大型 numpy 一维数组。当通过 PyCharm 调试器中的变量选项卡查看时,值显示在一大行中,以空格分隔,但每 18 个值都有一个逗号。我加入了调试器输出的图片,但它只显示了我刚才所说的内容 - 至少我认为它显示了这一点:
调试以下代码片段时会发生这种情况:
import numpy as np
a = np.full((19,), 10.0)
b = [ 10.0 for x in range(19)]
# line to be able to see a and b in the debugger before the end of the program
print()
使用的版本是Pycharm 2023.2.1。
如果我查看相同大小的 Python 数组,分隔符是逗号,并且在整个数组中一致使用。我无法在另一台计算机上测试它,看看这是否与它在我的内存中存储的方式有关。
我的问题是,为什么会出现这个逗号?
这似乎与变量的打印方式有关。如果运行
print(a)
,则会在 18 个值后出现换行符。 print(b)
将简单地将所有内容打印在一行上。
您可以通过设置线宽来更改 numpy 的行为,例如无限如下:
np.set_printoptions(linewidth=np.inf)
这将改变 PyCharm 调试器中的外观
a
,并且逗号现已被删除。