PyCharm показывает "PEP8: ожидаемые 2 пустые строки, найденные 1"

Рассмотрим следующий код:

def add_function(a, b):
    c = str(a) + b
    print "c is %s" % c

def add_int_function(c, d):
    e = c + d
    print "the vaule of e is %d" % e

if __name__ =="__main__":
    add_function(59906, 'kugrt5')
    add_int_function(1, 2)

Он всегда показывает мне: "ожидается 2 пустых строки , найдена 1" в функции add_int_function, но не в функции add_function.

Когда я добавляю два пробела перед def add_int_function(c, d): появляется ошибка, показывающая, что unindent does not match any outer indentation level в конце add_function:

enter image description here

enter image description here

Ответ 1

Просто добавьте еще одну строку между определениями функций:

1 строка:

введите описание изображения здесь

2 строки:

введите описание изображения здесь

Ответ 2

Я получаю ту же ошибку и выяснил, как от нее избавиться. error image

строка 36 (см. изображение ошибки): def create_lottery_numbers(): содержит волнистую линию, потому что между 34 и 36 есть только одна строка пустого пространства, т.е. 35 ошибка говорит: "ожидаются две пустые строки, найдена одна"

Чтобы исправить ошибку, добавьте еще одну пустую строку, должны быть две пустые строки, т.е. пустые строки между 34 и 37. См. исправленное изображение ошибки:

rectified

Ответ 3

Это довольно распространенный вопрос в сообществе питонов. После выпуска PEP 8 в Python были приняты новые стили форматирования. Один из них гласит, что после определения класса или функции должны быть две строки, разделяющие их. В качестве таких:

    def yadayada:
     print("two lines between the functions")


    def secondyadayada:
     print("this is the proper formatting")

Таким образом, вы никогда не должны делать это так:

    def yadayada:
     print("two lines between the functions")

    def secondyadayada:
     print("this is the proper formatting")

Или же PyCharm выдаст вам эту ошибку.