HOME
Python では、文字列の両端をシングルクォート、またはダブルクォートで囲むと文字列 (str 型オブジェクト) になります。
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