文字列入門:テキストをプログラムで扱う#

はじめに#

前回の記事では、Pythonでの数値の扱い方について学びました。今回は、もう一つの基本的なデータ型である「文字列」について学んでいきます。

文字列とは、テキストデータのことです。名前、住所、メッセージなど、私たちが普段扱う文字の情報はすべて文字列として扱われます。この記事では、Pythonでの文字列の基本的な扱い方と操作方法について解説します。

文字列とは?#

文字列は、一連の文字(アルファベット、数字、記号、日本語など)が並んだものです。Pythonでは、文字列はシングルクォート(')またはダブルクォート(")で囲んで表します。

Google Colabで以下のコードを実行してみましょう。

>
# 文字列の例
message1 = "こんにちは、Python!"
message2 = 'プログラミングを学習中'

# 文字列を表示
print(message1)
print(message2)

# 文字列の型を確認
print(type(message1))
print(type(message2))

実行結果:

こんにちは、Python!
プログラミングを学習中
<class 'str'>
<class 'str'>

文字列の型はstr(string)と表示されています。シングルクォートとダブルクォートのどちらで囲んでも、同じように文字列として扱われます。

クォートの使い分け#

シングルクォートとダブルクォートはどちらを使っても基本的に同じですが、文字列の中にクォートを含めたい場合には使い分けると便利です。

>
# クォートを含む文字列
message1 = "He said, 'Hello!'"         # 文字列内にシングルクォートがある場合
message2 = 'She replied, "Hi there!"'  # 文字列内にダブルクォートがある場合

print(message1)
print(message2)

実行結果:

He said, 'Hello!'
She replied, "Hi there!"

どうしても同じ種類のクォートを文字列内で使いたい場合は、クォートの前にバックスラッシュ(\)を挿入します。このような書き方をプログラミングでは「エスケープ」と呼び、このときのバックスラッシュとクォートのような普通の文字の組み合わせを「エスケープシーケンス」と呼びます。

>
# エスケープシーケンスを使った例
message1 = 'He said, \'Hello!\''
message2 = "She replied, \"Hi there!\""

print(message1)
print(message2)

実行結果:

He said, 'Hello!'
She replied, "Hi there!"

三重引用符による複数行の文字列#

文字列が複数行にわたる場合は、三重引用符('''または""")で囲むことができます。

>
# 複数行の文字列
multi_line_string = """これは
複数行にわたる
文字列です。"""

print(multi_line_string)

実行結果:

これは
複数行にわたる
文字列です。

三重引用符は、前回の記事で学んだコメントとしても使えましたね。ただし、上記のように変数に代入すると文字列として扱われます。

特殊文字とエスケープシーケンス#

エスケープシーケンスには、先ほどのクォートだけでなく様々なものがあります。主な例を見てみましょう。

>
# 改行を入れる
print("一行目\n二行目\n三行目")

# タブを入れる
print("名前:\tPython\t言語")

# バックスラッシュ自体を表示する
print("パス: C:\\Users\\Username")

実行結果:

一行目
二行目
三行目
名前: Python  言語
パス: C:\Users\Username

よく使うエスケープシーケンスは次の通りです。

  • \n: 改行
  • \t: タブ
  • \\: バックスラッシュ
  • \": ダブルクォート
  • \': シングルクォート

生文字列(raw string)#

エスケープシーケンスを無効にし、文字列をそのまま扱いたい場合は、文字列の前にrを付けて「生文字列(raw string)」として表すことができます。

>
# 通常の文字列
print("普通の文字列: C:\\Users\\Username\\Documents")

# 生文字列(raw string)
print(r"生文字列: C:\Users\Username\Documents")

実行結果:

普通の文字列: C:\Users\Username\Documents
生文字列: C:\Users\Username\Documents

生文字列では、バックスラッシュがエスケープ文字として解釈されず、そのまま表示されます。これは、ファイルパスなどの表示に便利です。

文字列の長さ#

文字列の長さ(文字数)を調べるには、len()関数を使用します。

>
# 文字列の長さを調べる
message = "こんにちは、Python!"
length = len(message)
print(f"文字列「{message}」の長さ: {length}文字")

実行結果:

文字列「こんにちは、Python!」の長さ: 13文字

日本語の文字も英語のアルファベットもどちらも1文字としてカウントされています。

まとめ#

この記事では、Pythonでの文字列の基本的な扱い方について学びました。

  • 文字列は、シングルクォート(')またはダブルクォート(")で囲んで表現する
  • 三重引用符('''または""")を使うと複数行の文字列を作れる
  • エスケープシーケンス(\n, \tなど)を使うと特殊文字を表現できる

文字列操作は、プログラミングのあらゆる場面で必要となる基本的なスキルです。Pythonは文字列操作が非常に強力で、多くの便利な機能が用意されています。これらの基本をマスターすれば、データ処理や文字列操作を必要とするさまざまなプログラムを簡単に作成できるようになります。