初心者入門文字列リテラルを記述する | Python入門
Python を使ったプログラムの中で文字列リテラルを記述する方法について解説します。文字列リテラルというのは複数の文字からなる定数のことです。
目次
- 文字列リテラルを記述する
- 文字列の中でダブルクオーテーションやシングルクオーテーションを使う
文字列リテラルを記述する
Python のプログラムの中で文字列を記述する場合、複数の文字の集まりをダブルクオーテーション(")で囲うかシングルクオーテーション(')で囲います。
"文字列"
'文字列'
文字列を構成する文字はアルファベットや数値、空白、日本語などの全角文字でも大丈夫です。
"Hello, Python"
"myname"
"こんにちは"
"2019"
ダブルクオーテーションとシングルクオーテーションで囲った場合で違いはありません。
ダブルクオーテーションやシングルクオーテーションで囲わずに、例えば "myname" ではなく myname とだけ記述すると myname という変数になります。また "2019" ではなく 2019 と記述すると数値となります。
サンプルプログラム
文字列は変数に格納したり、 print 関数の引数に指定して画面に出力することができます。簡単なサンプルプログラムを作って試してみます。テキストエディタで次のように記述したあと、 sample1-1.py という名前で保存します。
print("Hello")
print('こんにちは')
print("2019")
その後、次のように実行してください。
python sample1-1.py
print 関数の引数に指定した文字列リテラルが画面に出力されました。
print 関数は Python の組み込み関数の一つです。より詳細な使い方は「print関数の使い方(文字列を出力する)」を参照されてください。
文字列の中でダブルクオーテーションやシングルクオーテーションを使う
文字列リテラルを定義するには文字の集まりをダブルクオーテーションまたはシングルクオーテーションで囲うことで定義しますが、文字としてダブルクオーテーション(")やシングルクオーテーション(')を使用したい場合には注意が必要です。
例えば Tom's toy のようなシングルクオーテーションが含まれる文字列リテラルを記述する場合に、シングルクオーテーションで囲って定義してみます。
'Tom's toy'
この場合、最初のシングルクオーテーションと 2 番目のシングルクオーテーションで囲まれた 'Tom' が文字列リテラルと判断されてしまい、その後に続く s toy' の部分が構文的に間違った記述となるためエラーとなってしまいます。
このように文字列の中で文字としてシングルクオーテーションを使いたい場合には、ダブルクオーテーションで文字列を囲ってください。
"Tom's toy"
この場合、最初のダブルクオーテーションと 2 番目のダブルクオーテーションで囲まれた部分が文字列リテラルとして認識されるので、中にシングルクオーテーションが含まれていても問題ありません。逆に文字列リテラルの中でダブルクオーテーションを文字として使いたい場合には、シングルクオーテーションで文字列を囲ってください。
'彼は"こんにちは"と言いました'
なおエスケープシーケンスを使用する方法もあります。エスケープシーケンスについては「エスケープシーケンスを使用する」で解説します。
サンプルプログラム
簡単なサンプルプログラムを作って試してみます。テキストエディタで次のように記述したあと、 sample1-2.py という名前で保存します。
print("Tom's toy")
print('彼は"こんにちは"と言いました')
その後、次のように実行してください。
python sample1-2.py
文字としてダブルクオーテーションやシングルクオーテーションを使用することができました。
-- --