1つの文が複数行に渡る場合の書き方 - いしだ日記

1つの文が複数行に渡る場合の書き方

1つの文が長くなりすぎてしまい、途中で改行したい時があります。

pythonには文の終わりを表す「;」(セミコロン)がないため、改行が文の区切りになります。文の途中で改行すると、2つめの行は新しい文の始まりとみなされて、文法エラーになってしまうのです。

print '1234567890' +
      'abcdefghijklmnopqrstuvwxyz' +
      'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
$ python multiline-sequence.py
  File "multiline-sequence.py", line 1
    print '1234567890' +
                       ^
SyntaxError: invalid syntax

行のおわりに「\」(バックスラッシュ)を書くと、文が次の行とつながって解釈されるので、1つの文を複数の行に分けて記述することができます。

print '1234567890' + \
      'abcdefghijklmnopqrstuvwxyz' + \
      'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
$ python multiline-sequence.py
1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

カッコで囲まれた部分は自動的に次の行とつながる

{}、()、[]など、カッコで囲まれたところが改行されるときは、バックスラッシュなしでも次の行とつなげてくれます。


eto = ['ねずみ', 'うし', 'とら', 'うさぎ',
       'たつ', 'へび', 'うま', 'ひつじ',
       'さる', 'とり', 'いぬ', 'いのしし']