文字列リテラルを記述する

Python を使ったプログラムの中で文字列リテラルを記述する方法について解説します。文字列リテラルというのは複数の文字からなる定数のことです。

(Last modified: )

文字列リテラルを記述する

Python のプログラムの中で文字列を記述する場合、複数の文字の集まりをダブルクオーテーション(")で囲うかシングルクオーテーション(')で囲います。

"文字列"
'文字列'

文字列を構成する文字はアルファベットや数値、空白、日本語などの全角文字でも大丈夫です。

"Hello, Python"
"myname"
"こんにちは"
"2019"

ダブルクオーテーションとシングルクオーテーションで囲った場合で違いはありません。

ダブルクオーテーションやシングルクオーテーションで囲わずに、例えば "myname" ではなく myname とだけ記述すると myname という変数になります。また "2019" ではなく 2019 と記述すると数値となります。

文字列は変数に格納したり、 print 関数の引数に指定して画面に出力することができます。次のサンプルをみてください。

print("Hello")
>> Hello

print('こんにちは')
>> こんにちは

print("2019")
>> 2019

print 関数の引数に指定した文字列リテラルが画面に出力されました。

print 関数は Python の組み込み関数の一つです。より詳細な使い方は「print関数の使い方(文字列を出力する)」を参照されてください。

文字列の中でダブルクオーテーションやシングルクオーテーションを使う

文字列リテラルを定義するには文字の集まりをダブルクオーテーションまたはシングルクオーテーションで囲うことで定義しますが、文字としてダブルクオーテーション(")やシングルクオーテーション(')を使用したい場合には注意が必要です。

例えば Tom's toy のようなシングルクオーテーションが含まれる文字列リテラルを記述する場合に、シングルクオーテーションで囲って定義してみます。

'Tom's toy'

この場合、最初のシングルクオーテーションと 2 番目のシングルクオーテーションで囲まれた 'Tom' が文字列リテラルと判断されてしまい、その後に続く s toy' の部分が構文的に間違った記述となるためエラーとなってしまいます。

print('Tom's toy')
>>   File "<stdin>", line 1
>>     print('Tom's toy')
>>                ^
>> SyntaxError: invalid syntax

このように文字列の中で文字としてシングルクオーテーションを使いたい場合には、ダブルクオーテーションで文字列を囲ってください。

"Tom's toy"

この場合、最初のダブルクオーテーションと 2 番目のダブルクオーテーションで囲まれた部分が文字列リテラルとして認識されるので、中にシングルクオーテーションが含まれていても問題ありません。逆に文字列リテラルの中でダブルクオーテーションを文字として使いたい場合には、シングルクオーテーションで文字列を囲ってください。

'彼は"こんにちは"と言いました'

なおエスケープシーケンスを使用する方法もあります。エスケープシーケンスについては「エスケープシーケンスを使用する」で解説します。

サンプルコード

次のサンプルを見てください。

print("Tom's toy")
>> Tom's toy

print('彼は"こんにちは"と言いました')
>> 彼は"こんにちは"と言いました

文字列の中で文字としてダブルクオーテーションやシングルクオーテーションを使用することができました。

-- --

Python を使ったプログラムの中で文字列リテラルを記述する方法について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。