初心者のためのpython入門

自分がつまづいたところやつまづきやすいところを中心に書いていきます。また、役に立つライブラリの紹介などをしていきます。

文字列をもう少し詳しく学ぼう!

文字列の基本操作[1]

前回学んだ型の中にに文字列というものがありました。
今回は、その文字列についての操作をもう少し詳しく学んでみましょう。

\によるエスケープ

Pythonでは文字列に含まれる一部の文字の意味をエスケープして、特殊な意味な文字を表現しています。決まった文字の前にバックスラッシュ()を入れることにより、改行などの特別な意味を持たせることができる。バックスラッシュ(\)+文字の組み合わせはエスケープシーケンスと呼ばれます。それでは、エスケープシーケンスの使い方の例を見てみましょう。

>>> print("Hello World \n and \nHello Python.")
Hello World 
 and 
Hello Python.
>>> str = "Hello World \n and \nHello Python."
>>> print(str)
Hello World 
 and 
Hello Python.
>>> str = "This message is too long \
... to write a single line."
>>> print(str)
This message is too long to write a single line.

\nを使うことによって一行で複数行の文字列を表したり、1つの変数の中で複数行の記述が可能となります。長い文字列の中で\を使うことによって、文字列を分割して記述することもできます。表示される時は、一行に戻ります。文字列を囲むために使っているシングルクォーテーション(')やダブルクォーテーション(")を文字列内でも記号として使いたいときにも\'\"のようにエスケープする必要があります。

>>> print("\"I have a pen.\"\n\"I have an apple.\"")
"I have a pen."
"I have an apple."
>>> print('\'I have a pen.\'\n\'I have a pineapple.\'')
'I have a pen.'
'I have a pineapple.'
>>> print("'I have a pen.'\n'I have a pineapple.'\n'I have an apple.'")
'I have a pen.'
'I have a pineapple.'
'I have an apple.'

最後の例から分かるように、シングルクォーテーションの中でダブルクォーテーションを使う場合、ダブルクォーテーションの中でシングルクォーテーションを使う場合はエスケープする必要はありません。ここで、よく使うエスケープシーケンスについて表にまとめておきましょう。

エスケープシーケンス 意味
\\ (\)文字そのもの
\' シングルクォーテーション
\" ダブルクォーテーション
\b バックスペース
\n 改行
\t 水平タブ

この他にもエスケープシーケンスはありますが、まずは上記の表の中ものの意味がわかれば大丈夫だと思います。

文字列の連結・繰り返し

まずは、文字列の連結です。Pythonにおける文字列の連結はとても簡単です。では、早速例を見てみましょう。

>>> "First, " + "Second, " + "Third!"
'First, Second, Third!'
>>> a = "first"
>>> b = "second"
>>> c = "third"
>>> a + "/" + b + "/" + c
'first/second/third'
>>> "First, " "Second, " "Third!"
'First, Second, Third!'
>>> print(a,b,c)
first second third

例を見て分かるように、リテラル文字列や文字、列変数を連結するには+演算子を使います。最後の例のようにリテラル文字列同士の結合は演算子がなくてもできます。また、文字列の連結では自動的にスペースが入ったりする機能はないので自分で入れる必要があります。しかし、print()で表示する場合には、各引数の間にスペースを挿入し、末尾に改行を追加します。

それでは、文字列の繰り返しです。Pythonにおける文字列の繰り返しは連結とほとんど変わりません。例を見て見ましょう。

>>> first = '   1' + '\n'
>>> second = ' 2' * 2 + '\n'
>>> third = '3' * 5
>>> print(first, second, third)
   1  
  2 2
 33333

例を見て分かるように、繰り返しには*演算子を使います。*演算子の後に回数を書くことにより、その回数だけ繰り返しが起こります。

今回はここまでです。お疲れ様でした。次回は文字列におけるオフセットやスライスの操作について書く予定です。