変数で長い文字列を扱うことがあります。
JavaScriptであれば、「'(シングルクォーテーション)」か「"(ダブルクォーテーション)」で囲って、「+」でつなぐことで複数行に分けてもエラーになりません。
(文字列は前回記事参照)
mytxt = '連番\t氏名\t氏名(カタカナ)\t性別\t電話番号\t生年月日' +
'1\t長崎勝美\tナガサキカツミ\t女\t0952147154\t1996/11/08' +
'2\t中井萌\tナカイモエ\t女\t0192772541\t1995/05/17' +
'3\t木内日菜\tキウチヒナ\t女\t0922667757\t1995/08/17' +
'4\t萩原利彦\tハギワラトシヒコ\t男\t0855019844\t1969/04/01' +
'5\t小倉琴音\tオグラコトネ\t女\t0745910570\t1964/01/19' +
'6\t土屋富夫\tツチヤトミオ\t男\t0868249650\t1990/05/31' +
'7\t北島文雄\tキタジマフミオ\t男\t0964669794\t1977/08/06' +
'8\t島妃菜\tシマヒナ\t女\t0745906535\t1988/06/08' +
'9\t児島夏向\tコジマカナタ\t男\t0672503524\t1996/12/17' +
'10\t織田良明\tオダヨシアキ\t男\t0847790635\t1973/03/08';
alert(mytxt);
じゃあ、Pythonなら?
調べてみたら3つあったので、まとめてみました。
Pythonで長い1文を複数行に分けるには?
「\(バックスラッシュ)」を使う
上記のJavaScriptの例では「+」を使っていましたが、Pythonでは「\(バックスラッシュ)」に変えます。
mytxt = '連番\t氏名\t氏名(カタカナ)\t性別\t電話番号\t生年月日' \
'1\t長崎勝美\tナガサキカツミ\t女\t0952147154\t1996/11/08' \
'2\t中井萌\tナカイモエ\t女\t0192772541\t1995/05/17' \
'3\t木内日菜\tキウチヒナ\t女\t0922667757\t1995/08/17' \
'4\t萩原利彦\tハギワラトシヒコ\t男\t0855019844\t1969/04/01' \
'5\t小倉琴音\tオグラコトネ\t女\t0745910570\t1964/01/19' \
'6\t土屋富夫\tツチヤトミオ\t男\t0868249650\t1990/05/31' \
'7\t北島文雄\tキタジマフミオ\t男\t0964669794\t1977/08/06' \
'8\t島妃菜\tシマヒナ\t女\t0745906535\t1988/06/08' \
'9\t児島夏向\tコジマカナタ\t男\t0672503524\t1996/12/17' \
'10\t織田良明\tオダヨシアキ\t男\t0847790635\t1973/03/08'
print(mytxt)
詳しく書くと、Pythonは変数に複数の文字列リテラルを入れるとき、「+」が要りません。
a = 'hoge' 'fuga'
print(a)
# ⇒ hogefuga
「\(バックスラッシュ)」は、次の行に続くという意味を持つそうです。
丸括弧「()」を使う
Pythonでは、カッコ内で改行ができます。
mytxt = (
'連番\t氏名\t氏名(カタカナ)\t性別\t電話番号\t生年月日'
'1\t長崎勝美\tナガサキカツミ\t女\t0952147154\t1996/11/08'
'2\t中井萌\tナカイモエ\t女\t0192772541\t1995/05/17'
'3\t木内日菜\tキウチヒナ\t女\t0922667757\t1995/08/17'
'4\t萩原利彦\tハギワラトシヒコ\t男\t0855019844\t1969/04/01'
'5\t小倉琴音\tオグラコトネ\t女\t0745910570\t1964/01/19'
'6\t土屋富夫\tツチヤトミオ\t男\t0868249650\t1990/05/31'
'7\t北島文雄\tキタジマフミオ\t男\t0964669794\t1977/08/06'
'8\t島妃菜\tシマヒナ\t女\t0745906535\t1988/06/08'
'9\t児島夏向\tコジマカナタ\t男\t0672503524\t1996/12/17'
'10\t織田良明\tオダヨシアキ\t男\t0847790635\t1973/03/08'
)
print(mytxt)
角括弧[]や波括弧{}でも改行は可能です。
文字列の場合は、丸括弧が無難でしょう。
トリプルクォート(三連引用符)を使う
「'(シングルクォーテーション)」か「"(ダブルクォーテーション)」を3つ並べるやり方です。
mytxt = '''連番\t氏名\t氏名(カタカナ)\t性別\t電話番号\t生年月日
1\t長崎勝美\tナガサキカツミ\t女\t0952147154\t1996/11/08
2\t中井萌\tナカイモエ\t女\t0192772541\t1995/05/17
3\t木内日菜\tキウチヒナ\t女\t0922667757\t1995/08/17
4\t萩原利彦\tハギワラトシヒコ\t男\t0855019844\t1969/04/01
5\t小倉琴音\tオグラコトネ\t女\t0745910570\t1964/01/19
6\t土屋富夫\tツチヤトミオ\t男\t0868249650\t1990/05/31
7\t北島文雄\tキタジマフミオ\t男\t0964669794\t1977/08/06
8\t島妃菜\tシマヒナ\t女\t0745906535\t1988/06/08
9\t児島夏向\tコジマカナタ\t男\t0672503524\t1996/12/17
10\t織田良明\tオダヨシアキ\t男\t0847790635\t1973/03/08'''
print(mytxt)
この方法は「」を入れなくても、出力で改行されています。
出力は1行で欲しい場合、この方法は使えません。
ちなみに、複数行のコメントアウトもトリプルクォートでするのが一般的なのだとか。
a = 3
'''
次の処理は、
aの3乗を
計算しています。
'''
print(a ** 3)
# ⇒ 27
まとめ
長い1文を複数行で書く方法を3つ書きました。
状況に応じて使い分けられるように、それぞれのメリット・デメリットを理解することから始めたいと思います。