Python入門トップページ


目次

  1. プログラミング言語
  2. Anaconda - Jupyter Notebook / JupyterLab の環境設定
  3. Python の基礎
  4. リスト,タプル,辞書,集合
  5. 再び Jupyter Notebook の操作
  6. Python の制御構文
  7. 関数
  8. 便利な関数など
  9. リストの内包表記
  10. 多次元リスト
  11. クラス
  12. 演習問題
  13. 雑多な情報
    • コード途中で改行する

Python の基礎

雑多な情報

コード途中で改行する

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 によるバージョン管理に慣れると末尾にカンマを付けるルールの意味合いをきっと理解できるようになるでしょう.具体的には a1a2 に要素 [10, 11, 12] を追加しようとしたときに,Git の更新ログがどのように記録されるかをイメージすると理解できます.

目次に戻る