pep8を見て少しだけ、自分の記述と違うところがあったので書き方を学ぶ。
1レベルインデントするごとに、スペースを4つ使いましょう。
これまでは、エディタでenterを押すと勝手に2スペース開けてくれていたが、4スペース入れた方が良い。
少し不思議な感じ
#これまで
def test():
return 1
#pep8
def test():
return 1
def test(
var1,var2
var3):
print(11)
def long_function_name(
var_one, var_two, var_three,
var_four):
print(var_one)
すべての行の長さを、最大79文字までに制限しましょう。
どうしてもif文の条件が多くなってしまうことがありますが、そういった場合には折り返しを行い長くならないように調整。
1行にまとめすぎない
多分文法的にどちらも正しいのだろうけど、見やすいのは正しい方かな。
個人開発などで、かっこいい書き方をしてドヤ顔したいのであれば、後者かな。
# 正しい:
if foo == 'blah':
do_blah_thing()
do_one()
do_two()
do_three()
# やらない方が良い:
if foo == 'blah': do_blah_thing()
do_one(); do_two(); do_three()
演算子の場所
gross_wagesの後ろに付けたがりですが、前につけて、段落を揃えた方がわかりやすくなる感じ。
# 正しい:
# 演算子とオペランドを一致させやすい
test = (gross_wages
+ taxable_interest
+ (dividends - qualified_dividends)
- ira_deduction
- student_loan_interest)
余計な空白文字を使うのはあかんで。
# 正しい:
spam(ham[1], {eggs: 2})
# 間違い:
spam( ham[ 1 ], { eggs: 2 } )
代入(や他の)演算子を揃えるために、演算子の周囲に1つ以上のスペースを入れる:
これやってた人結構いるのでは?
見やすくしようという気持ちが逆になる例。
まぁ、結局現場によるが。。。。
# 正しい:
x = 1
y = 2
long_variable = 3
# 間違い:
x = 1
y = 2
long_variable = 3
他色々あるよね
気が向いたら閲覧して、ヘェ〜といっておこう。
参考:
https://pep8-ja.readthedocs.io/ja/latest/