Pythonの文字列の使い方

プログラムにおいて、アルファベットや数字などの文字が1文字以上連なったものを文字列といいます。例えば「abcde」「あいうえお」「1丁目」などです。今回は、Python プログラムにおいての文字列の基本的な使い方について説明します。

文字列の定義

文字列を定義するときは、ダブルクォーテーション " またはシングルクォーテーション ' で囲むことで定義します。

>>> a = "abc"
>>> a
'abc'
>>> b = 'abc'
>>> b
'abc'

定義するときにイコール = の左辺に変数を記述すると、変数に文字列を代入することができます。

シングルクォーテーションとダブルクォーテーションの違い

多くのプログラミング言語には特別な意味を持つ特殊文字(エスケープシーケンス)が存在します。代表的なものでいえば \n で表される改行コードなどです。Python ではダブルクォーテーションで囲った場合、シングルクォーテションで囲った場合も、両方とも特殊文字として扱われます。

Python で文字列中にダブルクォテーションを使いたい場合は、シングルクォテーションで囲みます。

>>> 'abc"def"'
'abc"def"'

ちなみにダブルクォーテーションの前にバックスラッシュ \ を付けることでも同じことを実現できます。

>>> "abc\"def\""
'abc"def"'

Python でダブルクォーテーションとシングルクォーテーションを使い分ける機会はあまりないかもしれません。

複数行で文字列を定義する

複数行で文字列を定義する場合は、ダブルクォーテーションまたはシングルクォテーションを3つ重ねて記述します。

>>> """abc
... efg
... hij
... """

文字列の連結

加算の演算子である + を用いることで、文字列を連結することができます。

>>> a = "abcde"
>>> b = "12345"
>>> c = a + b
>>> c
'abcde12345'

文字列の繰り返し

乗算の演算子 * を用いることで、指定した回数だけ繰り返された文字列を作ることができます。

>>> a = "abc"
>>> b = a * 3
>>> b
'abcabcabc'

文字列のインデックス

Python の文字列には、定義したときに自動的にインデックス(何文字目かを表す番号)が割り振られています。このインデックスは 0 から始まるので注意してください。

定義した文字列の後に角括弧 [] とその中にインデックスを指定することで、そのインデックスの文字列を取り出すことができます。

>>> a = "abcde"
>>> a[3]
'd'
>>> a[-2]
'd'

角括弧 [] の中に負数を指定した場合は、末尾からインデックスが数えられます。もしインデックスの範囲を超えてしまった場合はエラーが発生してしまいますので、注意してください。