Pycharm 通过在变量名之间放置不必要的空格,在代码中引入错误

Pycharm 通过在变量名之间放置不必要的空格,在代码中引入错误,pycharm,pep8,Pycharm,Pep8,我将Pycharm社区版(V2021.1.1)用于我的Python项目。Pycharm有一个方便的功能,可以警告您pep-8格式,例如空格、函数前后的空行等,它甚至有一个功能,可以通过自己放置空格和空行来修复这些格式错误 然而,这个自动格式化功能非常混乱,它甚至在变量名之间放置空格,从而造成许多语法错误。例如,有一段代码 i0 = 10 i1 = 100 U = 500 for index1 in range (0, i0-1): print ("do something&quo

我将Pycharm社区版(V2021.1.1)用于我的Python项目。Pycharm有一个方便的功能,可以警告您pep-8格式,例如空格、函数前后的空行等,它甚至有一个功能,可以通过自己放置空格和空行来修复这些格式错误

然而,这个自动格式化功能非常混乱,它甚至在变量名之间放置空格,从而造成许多语法错误。例如,有一段代码

i0 = 10
i1 = 100
U = 500
for index1 in range (0, i0-1):
   print ("do something")

for index1 in range (i1+1, U ) :
   print ("so something else")

在这段代码中,将
i0
重命名为
i0
并将
i1
重命名为
i1
的“智能”pycharm格式导致代码失败。有没有办法避免这样的错误? 或者对Pycharm隐藏pep8格式建议(恼人)?


[

如果您按照PEP 8风格进行编码,那就太好了。这是公司和重要的开源回购协议所必需的。我发现了这篇文章,它为您提供了有关python的PEP 8风格的要点。

我建议更改变量名以使用
snake\u case
。 这样做的好处是,您可以清楚地描述变量的“类型”(例如
fft
result)和该类型的实例(例如
0
1

这应该是一个简单的更改,以防您无法阻止Pycharm的样式更改,同时使您的代码更符合PEP-8,更重要的是,更易于阅读。(IMO)

你自己看看:

fft0 = 10
fft1 = 100
fft2 = 1000
fft3 = 10000
与:

fft_0 = 10
fft_1 = 100
fft_2 = 1000
fft_3 = 10_000

这都是个人偏好,但我敢打赌,大多数人会发现后者更容易解析。

正如你所预料的,PyCharm不应该做你所看到的,如果它这样做,会困扰大多数程序员。所以我会检查设置和插件。或者你会将文件与非Python格式相关联。简言之:检查你的设置,你能指定我应该检查设置中的哪个选项吗?我没有将该文件与非python格式相关联。Pycharm非常清楚这是一个python文件。我只是用Pycharm 2021.1.1和你的代码示例对其进行了测试。它的行为方式与我不同。因此,可能你有一个特定的配置或一个干扰的插件。请尝试disa自行安装插件或重置配置默认值。