Python - 文字列の書き方

文字列の記述

Python では、文字列の両端をシングルクォート '、またはダブルクォート " で囲むと文字列 (str 型オブジェクト) になります。

str = "abc"
print(str) # abc
クォートを使った文字列

文字列の中に引用符(クォート)を含める場合は、バックスラッシュ \エスケープ処理する必要があります。エスケープ処理とは、特別な意味を持つ文字や記号を、別の文字に置き換える処理のことを言います。

以下の例では、シングルクォートで囲まれた文字列の中にシングルクォートが登場する場合、バックスラッシュ \ でエスケープ処理を行っています。エスケープ処理によって、文字列の終端を表すシングルクォートが、ただの文字に置き換わっています。また、シングルクォートで囲まれた文字列の中にダブルクォートが登場してもエスケープ処理を行う必要はありません。

# シングルクォートで囲まれた文字列の場合
str1 = 'The English word "science" comes from the Latin scientia, meaning \'knowledge\'.'
print(str1) # The English word "science" comes from the Latin scientia, meaning 'knowledge'.

# ダブルクォートで囲まれた文字列の場合
str2 = "The English word \"science\" comes from the Latin scientia, meaning 'knowledge'."
print(str2) # The English word "science" comes from the Latin scientia, meaning 'knowledge'.
引用符のエスケープ

シングルクォート、またはダブルクォートを3つ使ったトリプルクォート('''""")で文字列を囲む書き方もあります。トリプルクォートで囲まれた文字列は単一行、または複数行をまとめて扱うことができます。トリプルクォートのなかに複数行の文字列を入れると、改行文字、および先頭や末尾にスペースがある場合、それらも文字列として扱われます。

str = '''The quick brown fox
jumps over the lazy dog'''

print(str)
# The quick brown fox
# jumps over the lazy dog
トリプルクォートの文字列

トリプルクォートで囲まれた文字列の中ではシングルクォート、またはダブルクォートはエスケープ処理を行う必要がありません。

str = """The English word "science" comes from the Latin scientia, meaning 'knowledge'."""
print(str) # The English word "science" comes from the Latin scientia, meaning 'knowledge'.
引用符のエスケープ

シングルクォート ' 、またはダブルクォート " で囲んだ文字列を複数行にした場合、SyntaxError が発生します。ただし、明示的な改行コード \n を文字列内に含めることで改行することができます。

# SyntaxError: EOL while scanning string literal
str = 'The quick brown fox
jumps over the lazy dog'

str = 'The quick brown fox\njumps over the lazy dog'
print(str)
# The quick brown fox
# jumps over the lazy dog
文字列内の改行
0
SHARE
Twitter
@murashun
お問い合わせ
murashun@gmail.com
ご質問(マシュマロ)
https://marshmallow-qa.com/murashun
ご支援(Stripe)
https://checkout.stripe.com/