web-dev-qa-db-ja.com

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)

Aadd_int_functionには「期待される2つの空白行、1が見つかりました」が常に表示されますが、add_functionには表示されません。

def add_int_function(c, d):の前に2つのスペースを追加すると、unindent does not match any outer indentation levelの最後にadd_functionのエラーが表示されます。

enter image description here

enter image description here

24
march_seven

関数定義の間に別の行を追加するだけです:

1行:

enter image description here

2行:

enter image description here

66
Kennet Celeste

これは、pythonコミュニティ内の非常に一般的な質問です。 PEP 8のリリース後、新しいフォーマットスタイルがPythonに受け入れられました。それらの1つは、クラスまたは関数の定義後、それらを分離する2行がなければならないと述べています。など:

    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がそのエラーを投げます。

2
shreyshrey

私は同じエラーを受け取っていて、それを取り除く方法を見つけました。 error image

36行目(エラー画像を参照):def create_lottery_numbers():34と36の間に空のスペースが1行しかないため、波線があります。

エラーを修正するには、別の空白行を追加します。2行の空白行、つまり34〜37の空白行が必要です。修正されたエラー画像を参照してください。

rectified

0
Gautam Vanama