Pythonの文字列(str)型:基本、クォート、複数行の扱い方

Pythonにおいて、**文字列(str)**はプログラムで最もよく使われるデータ型の一つです。「こんにちは」といった挨拶や、ユーザーID、ファイル名、エラーメッセージなど、テキストデータを扱うために使用されます。

文字列は「文字のシーケンス(順序付けられた並び)」として扱われます。

この記事では、Pythonで文字列を作成する3つの基本的な方法と、その使い分けについて解説します。

目次

1. シングルクォート (')

文字列を作成する最も基本的な方法は、テキストをシングルクォート(')で囲むことです。

Python

# シングルクォートで作成
file_name = 'report.pdf'
status_code = 'OK'

print(file_name)

実行結果:

report.pdf

2. ダブルクォート (")

ダブルクォート(")で囲んでも、シングルクォートと全く同じように文字列を作成できます。

Python

# ダブルクォートで作成
app_title = "Data Management Tool"
user_id = "user-001"

print(app_title)

実行結果:

Data Management Tool

シングルとダブルの使い分け

Pythonに2種類のクォートが用意されているのは、文字列の「中」にクォート自体を含めたい場合に便利だからです。

  • 文字列の中に " を含めたい場合は、全体を ' で囲みます。
  • 文字列の中に ' を含めたい場合は、全体を " で囲みます。

Python

# 1. ダブルクォート " を含む文字列
message_1 = '彼は "Hello!" と言った。'
print(message_1)

# 2. シングルクォート ' を含む文字列
message_2 = "It's a beautiful day."
print(message_2)

実行結果:

彼は "Hello!" と言った。
It's a beautiful day.

3. トリプルクォート (""" または ''')

3つ連続したクォート(""" または ''')でテキストを囲むと、複数行にわたる文字列をそのまま作成できます。

"""''' の機能は同じです。

Python

# トリプルダブルクォートで複数行の文字列を作成
sql_query = """
SELECT
    id,
    name,
    email
FROM
    users
WHERE
    is_active = True;
"""

print(sql_query)

実行結果:

SELECT
    id,
    name,
    email
FROM
    users
WHERE
    is_active = True;

改行やインデントが、記述した見たまま保持されるのが特徴です。

用途:Docstring(ドキュメント文字列)

トリプルクォートは、関数の説明文(Docstring)を記述する際の標準的な方法としても用いられます。

Python

def calculate_average(numbers):
    """
    数値のリストを受け取り、その平均値を返す。
    
    Args:
        numbers (list): 数値のリスト
        
    Returns:
        float: 計算された平均値。リストが空の場合は 0.0 を返す。
    """
    if not numbers:
        return 0.0
    return sum(numbers) / len(numbers)

# 関数の説明文を参照
help(calculate_average)

まとめ

Pythonの文字列(str)は、テキストデータを扱うための型です。

  • 'Text' (シングルクォート): 基本的な文字列。
  • "Text" (ダブルクォート): 基本的な文字列。' を含む文字列を作るときに便利。
  • """Multi-line""" (トリプルクォート): 複数行の文字列や、関数の説明文(Docstring)を作成する際に使用します。

これら3つの方法は、最終的に同じ str 型のオブジェクトを作成しますが、用途に応じて使い分けることでコードの可読性が向上します。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次