web-dev-qa-db-fra.com

Convention de codage Python "Indentation continue incorrecte avant bloc: découverte par pylint

J'ai utilisé pylint pour vérifier mon code python et j'ai trouvé ce problème de convention:

C:11, 0: Wrong continued indentation before block.
                    + this_time <= self.max):
                    ^   | (bad-continuation)

J'ai essayé de peaufiner les choses mais le problème est toujours présent, quelqu'un peut-il aider? Merci!

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
21
Reed_Xia

Pylint ne veut pas que cette continuation commence sur la même colonne que le prochain bloc d'indentation. En outre, notez que le message inclut un indice sur les colonnes qu’il considère correctes.

30
sthenault

Essayez de mettre le + sur la ligne précédente:

        if (remaining_obj.get_time() +
            this_time <= self.max):

En passant, vous voudrez peut-être prendre en compte les facteurs qui obligent votre code à tenir dans environ 40 caractères. Peut-être avez-vous un trop grand nombre de niveaux d'indentation et votre code pourrait-il être remodelé pour avoir moins de blocs imbriqués.

2
Amber

Selon PEP8 : "Le lieu privilégié pour contourner un opérateur binaire est après l'opérateur, pas avant."

Essayez de déplacer cela et inscrivez-vous à la ligne précédente.

0
feasel0