記事の紹介
この記事では文字列に対して扱います。
文字列はよく使われてるのか
プログラマーではない人々は、プログラマーは数値を操作しているのだからさぞかし数学が得意に違いないと考える人が多いですが、実際には、ほとんどのプログラマーは数値より文字列を操作する事の方が多い。数字のスキルよりも、論理的(そして創造的)思考の方が重視されることが多いです。
クォートを使った作成
Python文字列は、次に示すように、シングルクォートかダブルクォートで文字を囲んで作ります。
str()を使った型変換
str()関数を使えば、Pythonの他のデータ型を文字列に変換できます。
+による結合
Pythonでは、次のように + 演算子を使えば、リテラル文字列、文字列変数を結合することができます。
リテラル文字列の場合は、順に並べるだけでも連結できます(文字変数では出来ません)。
文字列の結合は、Pythonは自動的にスペースを追加したりしません。そこで、前の例では、明示的にスペースを入れる必要があります。それに対し、print()関数の各引数の間にはスペースを挿入し、最後に改行を追加します。
a = ‘Duck’
b = a
c = ‘Grey Duck’
a + b + c
*による繰り返し
*演算子を使うと、文字列を繰り返すことができます。対話型インタープリタに次の行を入力し、どう出力されるか見てみましょう。
start = ‘Ha’ * 4
middle = ‘Ho’ * 5
end = ‘bye.’
print(start + midle + end)
[]による文字の文字の抽出
文字列のなかのひとつの文字を取り出したいときには、文字列名の後ろに角かっこ [ と ] 囲んだ文字のオフセットを続ける。先頭(もっとも左)の文字のオフセットは0、その右は1、というように数えます。最後の(もっとも右)の文字のオフセットは-1でも指定できますので、文字数を数える必要はありません。要すると右端からはマイナスを付けて、左端からはそのままで大丈夫っという事です。
letters = ‘abcdefgh’
letters[0]
letters[1]
letters[-1]
letters[-2]
letters[5]
[start:end:step]によるスライス
スライスを使えば、文字列から部分文字列(文字列の一部)を取り出すことができます。スライスは、角かっこと先頭オフセット(start)、末尾オフセット(end)、ステップ(step)で定義する。これらの中には省略できるものもあります。スライスには、startからendの1字手前までの文字が含まれます。下記はスライスの特徴です。例文として使う文字列はは上記のlettersを使います。
- [ : ]は、先頭から末尾までのシーケンス全体を抽出します。
例)letters[:]
- [ start: ]は、startオフセットから末尾までのシーケンスを抽出します。
例)letters[2:],letters[5:]
- [ start:end ]は、startオフセットからend-1オフセットまでのシーケンスを抽出する。
例)letters[2:5], letters[1:-1]
- [ start:end:step]は、step文字ごとにstartオフセットからend-1オフセットまでのシーケンス抽出する。
例)letters[0: 20: 3], letters[0, 20, 2]
関数
今までは、+などの特殊記号を使って文字列を操作してきました。しかし、そうやって文字列を操作出来るのは特殊記号だけではありません。関数を使って特殊記号だけでは足りない機能を補うことが出来ます。ここで関数とは、簡単に言うと「決められた操作を実行する名前付きのコード」と言えます。正確にはここを参考にしてください。
入門Python3 -Pyの成分
・Pyの成分-(1)-変数、名前、オブジェクト
・Pyの成分-(2)-数値
・Pyの成分-(3)-文字列