PEP:8「Python コードのスタイルガイド」によると,Python コードは1行の長さを79文字までに制限すべきです.これよりも長くなる場合は途中で改行をする必要があります.行の途中で改行したい場合はバックスラッシュ \
を利用する方法があります.例えば,次のコードを入力します.
a = 1 + 2 + 3 + 4 + 5
a
15
上記のコードで(短いですが)行を途中で改行すると,想定したものと異なる結果が得られるか,エラーとなってしまいます.次の場合は2行目が先頭から始まっているので,エラーにはなりませんが3までの合計が計算され,想定したものと異なる結果になってしまいます(つまりバグです).
a = 1 + 2 + 3
+ 4 + 5
a
6
次のように,インデントを入れるとインデントのエラーとなります.
a = 1 + 2 + 3
+ 4 + 5
a
IndentationError: unexpected indent
もしもコードの途中で改行したい場合は,次のようにバックスラッシュ\
(日本語版 Windowsでは円マーク)を入力すると良いでしょう.
a = 1 + 2 + 3 \
+ 4 + 5
a
15
なお,関数やリストの定義などのカッコ ( ( )
,[ ]
,{ }
) の中では,バックスラッシュを入力せずに改行することが可能です(バックスラッシュを入力しても動作します).例えば,ここで説明した2次元リストの定義は次のように入力します.
a1 = [[1,2,3],[4,5,6],[7,8,9]]
a1
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
このようにカッコで囲われた要素の場合は,次の通りバックスラッシュを入れることなく改行することが可能です.この書き方の方がコードの見通しが良くなる場合も少なくないでしょう.
a2 = [
[1,2,3],
[4,5,6],
[7,8,9],
]
a2
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
なお,2つ上の a1
の定義では [7, 8, 9]
の直後にカンマがないのに対して,1つ上の a2
の定義では [7, 8, 9],
のようにカンマをつけています.この理由はここに記されているとおりで,Git によるバージョン管理に慣れると末尾にカンマを付けるルールの意味合いをきっと理解できるようになるでしょう.具体的には a1
や a2
に要素 [10, 11, 12]
を追加しようとしたときに,Git の更新ログがどのように記録されるかをイメージすると理解できます.