我使用pylint来检查我的python代码,并发现了这个约定问题:
C:11, 0: Wrong continued indentation before block.
+ this_time <= self.max):
^ | (bad-continuation)
我试着改进时间,但问题仍然存在,有人可以帮忙吗?谢谢!
if len(remaining_obj_list) > 0:
for i in a_list:
this_time = self.__get_time(i)
for remaining_obj in remaining_obj_list:
if (remaining_obj.get_time() # to fit 78 char rule
+ this_time <= self.max):
i.append(remaining_obj)
remaining_obj.set_used(True)
if 0 == len(self.__get_unused_list):
break
答案 0 :(得分:30)
Pylint不希望这种延续与下一个缩进块在同一列上启动。另请注意,该消息包含其认为正确的列的提示。
答案 1 :(得分:2)
尝试将+
放在上一行:
if (remaining_obj.get_time() +
this_time <= self.max):
作为旁注,您可能想要考虑导致代码必须符合~40个字符的因素 - 也许您有一些太多的缩进级别,并且您的代码可以重构为具有更少的嵌套块
答案 2 :(得分:0)
根据PEP8:“打破二元运算符的首选位置是在运算符之后,而不是在它之前。”
尝试将该加号移至上一行。
答案 3 :(得分:0)
检查伪造的选项卡(在Sublime中:Ctrl + F,然后输入一个空格),并用正确数量的空格替换它们。我遇到了同样的问题,当PyLint抱怨行继续时,该错误实际上是由错位的制表符触发的。
缩进时,PyLint似乎仅对空格进行计数,如果数字加起来不等于4的倍数,则会引发此错误。根据不同的编辑器,放错位置的标签可能不会立即可见。