1. ホーム
  2. python

[解決済み] Python で 2 行の空行を期待する pep8 警告

2022-02-28 13:53:16

質問

PythonのIDEとしてvimエディタを使用しています。以下は、数の平方根を計算する簡単なpythonプログラムです。

import cmath
def sqrt():
    try:
        num = int(input("Enter the number : "))
        if num >= 0:
            main(num)
        else:
            complex(num)
    except:
        print("OOPS..!!Something went wrong, try again")
        sqrt()
    return

def main(num):
    squareRoot = num**(1/2)
    print("The square Root of ", num, " is ", squareRoot)
    return

def complex(num):
    ans = cmath.sqrt(num)
    print("The Square root if ", num, " is ", ans)
    return

sqrt()

そして、警告は.

1-square-root.py|2 col 1 C| E302 expected 2 blank lines, found 0 [pep8]
1-square-root.py|15 col 1 C| E302 expected 2 blank lines, found 1 [pep8]
1-square-root.py|21 col 1 C| E302 expected 2 blank lines, found 0 [pep8]

なぜこのような警告が出るのか、教えていただけませんか?

解決方法は?

import cmath


def sqrt():
    try:
        num = int(input("Enter the number : "))
        if num >= 0:
            main(num)
        else:
            complex_num(num)
    except:
        print("OOPS..!!Something went wrong, try again")
        sqrt()
    return


def main(num):
    square_root = num**(1/2)
    print("The square Root of ", num, " is ", square_root)
    return


def complex_num(num):
    ans = cmath.sqrt(num)
    print("The Square root if ", num, " is ", ans)
    return

sqrt()

前者は、あなたの PEP8 の問題です。インポートの後、コードを開始する前に2行の新しい行を用意する必要があります。また、各 def foo() も2つ必要です。

あなたの場合、importの後に0を入れ、各関数の間に1つの改行を入れていましたね。PEP8では、コードの最後に改行が必要です。残念ながら、あなたのコードをここに貼り付けたときに、それをどのように表示すればいいのかわかりません。

ネーミングに注意してください。これもPEP8の一部です。私は complex から complex_num との混同を防ぐため、内蔵の complex .

結局、これらは警告に過ぎず、必要なら無視すればいいのです。