行末にバックスラッシュ
行末にバックスラッシュがあると、改行コードが無視されます。# 行分割前
value = 10000 + 20000 + 30000 + 40000
# 行分割後
value = 10000\
+ 20000\
+ 30000\
+ 40000
インラインコメントは、最終行のみ書けます。
value = 10000\ # エラー
+ 40000
value = 10000\
+ 40000 # OK
解説
Pythonには 物理行(logical line) と 論理行(physical line) という概念があります。物理行は実際に書かれたソースコード内の1行で、論理行 は Python が ソースコードを解析した結果、解釈をした1行です。Python の仕様で バックスラッシュ の次が 改行コード の場合、バックスラッシュと改行コードが削除され、1行の論理行にまとめられます。
丸かっこ
丸カッコ内の文
丸カッコ「()」内の式は自由に改行でき、行末にコメントも書けます。# 分割前
value = 10000 + 20000 + 30000 + 40000
# 分割後
value = (10000 + # コメント可
20000 + # コメント可
30000 + # コメント可
40000) # コメント可
タプル(tuple型)
丸カッコ「()」内にカンマ「,」が含まれていると、タプル(tuple型)オブジェクトを作成できます。カッコ内は自由に改行できます。# 分割前
value = (10000, 20000, 0000, 40000)
# 分割後
value = (10000, # コメント可
20000, # コメント可
30000, # コメント可
40000) # コメント可
文字列リテラル
文字列リテラルを連続で定義すると、+ 演算子を使用しなくても連結されます。# 文字列リテラルを連続で定義(間にスペースなし)
value = 'abc''ABC''123'
print(value) # 結果 = 'abcABC123'
# 文字列リテラルを連続で定義(間にスペースあり)
value = 'abc' 'ABC' '123'
print(value) # 結果 = 'abcABC123'
この性質と バックスラッシュ または 丸カッコ を使用した分割は次の通りです。
# 分割前
value = 'abcABC123'
print(value) # 結果 = 'abcABC123'
# バックスラッシュを使用して分割
value = 'abc'\
'ABC'\
'123'
print(value) # 結果 = 'abcABC123'
# 丸カッコを使用して分割
value = ('abc' # コメント可
'ABC' # コメント可
'123') # コメント可
print(value) # 結果 = 'abcABC123'
角かっこ(リスト) と 波かっこ(集合)
角カッコ「[]」内にカンマ「,」区切りで 値を並べると、リスト(list型)オブジェクトを作成できます。カッコ内は自由に改行できます。# 行分割前
value = [10000, 20000, 30000, 40000]
# 行分割後
value = [10000, # コメント可
20000, # コメント可
30000, # コメント可
40000] # コメント可
波カッコ「{}」内にカンマ「,」区切りで 値を並べると、集合(set型)オブジェクトを作成できます。カッコ内は自由に改行できます。
# 行分割前
value = {10000, 20000, 30000, 40000}
# 行分割後
value = {10000, # コメント可
20000, # コメント可
30000, # コメント可
40000} # コメント可
参考資料
- Python公式ドキュメント - 論理行(physical line)
- Python公式ドキュメント - 物理行(logical line)
- Python公式ドキュメント - 明示的な行継続
- Python公式ドキュメント - 非明示的な行継続
- Python公式ドキュメント - タプル型 (tuple)
- Python公式ドキュメント - リスト型 (list)
- Python公式ドキュメント - 集合型
検証環境
- Python 3.11.3 (tags/v3.11.3:f3909b8, Apr 4 2023, 23:49:59) [MSC v.1934 64 bit (AMD64)] on win32
- Microsoft Windows 10 Enterprise Version 22H2 OS Build 19045.3693 Experience: Windows Feature Experience Pack 1000.19053.1000.0