str(文字列)型

Pythonの文字列はシーケンス型の一種で、文字列シーケンスと呼ばれています。ここでは基本的な内容の紹介にとどめます。より詳しい文字列操作の内容は文字列操作を参照してください。

初期化

str型を初期化する際はダブルクォートかシングルクォートで文字列を囲みます。

text1 = 'シングルクォートで囲む'
text2 = "ダブルクォートでもOK"

エスケープシーケンス

改行やタブなどの特殊文字を使用する場合は、エスケープシーケンスとして\マークを使用します。例えば、ダブルコーテーションでくくった文字列の内部で

「得意なプログラミング言語は”Python”です。」

という文字列を定義する場合について考えてみましょう。

text = "得意なプログラミング言語は"Python"です。"
# SyntaxError: invalid syntax

当然ながら、上のプログラムを実行するとエラーとなり「SyntaxError: invalid syntax」が出力されます。ダブルコーテーションを含んだ文字列を定義する場合は以下のように記述します。

text = "得意なプログラミング言語は\"Python\"です。"
print(text)

エスケープシーケンスについて理解できたところで、以下に代表的なものを示します。

エスケープシーケンス 意味
\t タブ
\\ \
\’ シングルコーテーション
\” ダブルクコーテーション
\n 改行

文字列の結合

文字列の結合

文字列同士を結合する場合は”+”を利用します。

text1 = '今日は'
text2 = 'いい天気'

text3 = text1 + text2

print(text3) # 今日はいい天気 が出力される

オブジェクトの文字列表現と文字列結合

Pythonのprint文はオブジェクトを引数で指定すると、そのオブジェクトの文字列表現を得ることができます。例えば、これまで学習してきた数値やリストの値を参照したい場合、以下のようにprint文で確認することができます。

num = 5
print(num) # 5

l = [1, 2, 3]
print(l) # [1, 2, 3]

ここで気をつけなければならないことが、文字列として結合するとTypeErrorが発生する、という点です。よくやりがちなエラーが以下のサンプルです。

num = 5
text = 'text'

print(num) # 5が出力される
print(text + num) # TypeErrorが発生

こんな場合、組込みのstr関数を使うことにより、オブジェクトの文字列表現を取得することができ、文字列結合することができます。

num = 5
text = 'text'

print(num) # 5が出力される
print(text + str(num)) # text5

Pythonにこなれてきてもデバッグ文やログ出力で比較的よくやりがちなミスですので、対処方法について知っておいてください。