私はvimエディターをpython IDEとして使用しています。以下は、数値の平方根を計算する簡単な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つ必要です。
あなたの場合、インポート後に0があり、各関数間に1つの改行がありました。 PEP8の一部では、コードの終了後に改行する必要があります。残念ながら、ここにコードを貼り付けるときに表示する方法がわかりません。
ネーミングに注意してください。PEP8の一部でもあります。組み込みの complex
との混乱を防ぐために、complex
を_complex_num
_に変更しました。
最終的に、これらは警告に過ぎず、必要に応じて無視できます。
意味のあるコードブロックの間に2つの空白行を入れる必要があります。
以下が含まれます(例)。
ドキュメントへのリンクは次のとおりです。 Python用PEP8スタイルガイド
次に示すように、関数間に2つのスペースを追加する必要があります。
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()
with warnings:-
import math
def my():
print("hello world")
my()
Without warnings:-
import math
def my():
print("hello world")
my()
ここで、2番目のコードスニペットのimportステートメントの後に2行のスペースが表示される場合、警告は表示されません。繰り返しますが、2つのメソッド定義を書いている場合、2つはコードブロック間のスペースとして2行を与えます。
すべての答えは正しいようです。手作業でこれを行わないようにするには、 autopep8
package (pip install autopep8)を使用することもできます。 autopep8 filename.py
を呼び出した結果は同じです:
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()
PS: 外観を見る at if __name__ == "__main__":