01 / 07
動くけれど、読みにくい
下のコードはちゃんと動く。エラーも出ない。それでも、なんだか読みにくいよね。
= の左右がそろっていないし、print のかっこの中に余計な空きがある。意味は同じなのに、目が止まる。
nedan=250kosuu =4print( nedan*kosuu )実行結果
1000
きれいに書く
INPUT · スライド
01 / 07
下のコードはちゃんと動く。エラーも出ない。それでも、なんだか読みにくいよね。
= の左右がそろっていないし、print のかっこの中に余計な空きがある。意味は同じなのに、目が止まる。
nedan=250kosuu =4print( nedan*kosuu )実行結果
1000
02 / 07
こういう「どう書くか」の迷いに、Pythonは公式の答えを用意している。それが PEP 8(ペップエイト)というスタイルガイドだよ。
字下げは半角4つ、演算子の前後に空白を1つ、カンマのあとに空白。第1章から当たり前のように使ってきた書き方は、ぜんぶここに書いてあることなんだ。
nedan = 250kosuu = 4print(nedan * kosuu)実行結果
1000
03 / 07
PEP 8 は名前の付けかたも決めている。種類ごとに形が違うので、名前を見ただけで何なのか分かるようになっているよ。
gokei_kingaku zeikomi_nedan。これを snake_case(スネークケース)と呼ぶKudamono Chokinbako。PascalCase(パスカルケース)SAIDAI_KAZU SHOHIZEIこの教材は変数名をローマ字で書いているけれど、ローマ字のまま snake_case にそろえれば PEP 8 に合うよ。
SAIDAI_KOSUU = 3class Kudamono: def __init__(self, namae, nedan): self.namae = namae self.nedan = nedanringo = Kudamono("りんご", 150)kosuu = 2gokei_kingaku = ringo.nedan * kosuuprint(gokei_kingaku)print(SAIDAI_KOSUU)実行結果
300 3
04 / 07
空白はいくつ入れても動くけれど、PEP 8 の言いかたはこう。
a = 1 + 2print(a, b) [1, 2, 3]print(x) であって print( x ) ではない空白は多すぎても少なすぎても読みにくい。1つだけが合言葉だよ。
tens = [80, 95, 70]gokei = tens[0] + tens[1] + tens[2]print(gokei, len(tens))実行結果
245 3
05 / 07
行の中だけでなく、ファイル全体の並べかたにも決まりがあるよ。
import はファイルの先頭にまとめる。使う直前に書かない空行2つは多すぎるように感じるかもしれないけれど、実際のPythonのコードはほとんどこの形になっているよ。
import mathdef enmenseki(hankei): return math.pi * hankei * hankeidef shikaku_menseki(tate, yoko): return tate * yokoprint(round(enmenseki(2), 2))print(shikaku_menseki(3, 4))実行結果
12.57 12
06 / 07
ここまで読んで気づいたと思うけれど、PEP 8 を破ってもプログラムは動く。エラーにもならないし、誰にも怒られない。
それでも世界中のPython使いが従っているのは、書き方が揃っていると、読むときに中身だけに集中できるからだよ。
書き方がばらばらだと、コードを読むたびに「この人はどう書く人だろう」を先に読み解かないといけない。それは中身とは関係ない、まったくの無駄な手間なんだ。全員が同じ形で書けば、その手間がゼロになる。
07 / 07
全部を手で覚える必要はないよ。PEP 8 に沿っているかを調べる道具や、自動で整えてくれる道具が用意されている。実際の現場では、保存した瞬間に整うようにしていることが多いんだ。
だからあなたが覚えるべきなのは、細かい文字数ではなく「そろえると読みやすくなる」という感覚のほう。
次のレッスンでは、そろえた先にあるものを扱うよ。コードの中に、そのコードの説明そのものを埋めこむ書き方だよ。