⌨️

Python入門⑤~文字列~

2023/04/06に公開

文字列とは

前回の「Python入門④~四則計算・算術演算子・round関数~」では数値を扱いました。
今回は文字列を扱います。
「String型」と呼ばれることもあります。

文字列をprint関数で出力する

大事なルールは「'文字列'」もしくは「"文字列"」というように、
シングルクォーテーションもしくはダブルクォーテーションで囲む必要があります。
どちらでも大丈夫です。

print ( 'test' )

とすると、「test」という文字列が表示されます。

エスケープ

このような場合、エラーが起こります。

print ( 'I don't know' )

どのように表示されるかというと、

SyntaxError: unterminated string literal (detected at line 1)

となっていました。
雑な翻訳としては、「文字列がちゃんと終わっていないよ」ということです。
今回は文字列の途中で「don't」が入ってしまったので、
「don'で終わらないといけないのに、まだ文字列が続いているよ」ということです。
そのため、英文やシングルクォーテーションを多用する方は、
ダブルクォーテーションで囲む癖を付けた方が楽かもしれません。

とはいえ、ダブルクォーテーションを使わずとも済ませることもできます。
それが「エスケープ」です。エスケープとは、「通常だとプログラムが働いてしまう特殊な記号を、ただの文字列として認識させること」です。

エスケープしたい場合は「バックスラッシュ」を挟みます。

次のように入力すると、エラーは起きず、正しく表示されます。

print ( 'I don\'t know' )

改行方法①~バックスラッシュn~

文字列を改行させたい場合は、「\n」を改行したいところへ入力します。

print ( 'はじめまして。\n鈴木です。')

とすると、改行されて表示されますね。

改行方法②~トリプルクォーテーション~

なるべくコードと表示結果の見た目を一緒にしたい、という場合もあると思います。
その場合は、トリプルクォーテーションを使います。
この場合、コード内の改行がそのまま表示結果にも反映されます。

print ( '''はじめまして。
鈴木です。
今日は良い天気ですね。''')

とすると、改行されて表示されますね。

改行方法③~インデント~

上記も良いのですが、
1~3段目の文頭が同じ位置になってしまいます。
コードの視認性が落ちるので、2~3行目にはインデントを付けたいですよね。
かといって、次のようにすると、表示結果にも文頭に空白が生まれてしまいます。

print ( '''はじめまして。
	   鈴木です。
	   今日は良い天気ですね。''')

ではどうすれば良いかというと、①と②を組み合わせるようなやり方です。
・各行をシングルクォーテーションもしくはダブルクォーテーションで囲む
・各行をコード内で改行する
・「バックスラッシュn」を各行末に入れる

print ( 'はじめまして。\n'
        '鈴木です。\n'
        '今日は良い天気ですね。')

こうすると、コードも表示結果もきれいですね。

結合

文字列同士を結合させたい場合は、「+」を使います。

print ( 'はじめまして。' + '鈴木です。' )

とすると、「はじめまして。鈴木です。」と表示されます。

繰り返し

文字列を何度も繰り返したい場合は、「*」を使います。

print ( 'はじめまして。' * 3 )

とすると、「はじめまして。はじめまして。はじめまして。」と表示されます。

以上が文字列のお話でした。

Discussion