Pythonプログラミング(ステップ7・文字列)

このページでは、Pythonの文字列の扱いについて学ぶ。(ここは書きかけ)

str型(マニュアル)

1. str型

整数はint型、実数はfloat型のデータとして扱われるように、テキスト情報を扱うための専用のデータ型(「入れ物」)が用意されている。 それがstr型である。 strはstringに由来し、stringは「数珠つながりになったもの」を意味する。ここで、「数珠」はもちろん「文字」に対応する。

このstr型は、これまでにも画面出力の際、

print("Hello!")

"Hello!"といった形ですでに登場していたし、数値データを入力する際、

n = int(input("整数値:"))

の中のinput( )関数は、キーから入力した「文字」をstr型の情報として取得する働きをするため、 さらにそれを数値(int型)に変換するために、int(input( )が取得した数値を表す文字) で「包む」必要がある。 つまり"123"というテキストと、123という数値を、きちんと区別して扱わなければならない。

str型のデータは "文字" のようにダブルクォートしても、'文字' のようにシングルクォートで囲んで表現しても良いが、 "駄目な例' はエラーとなる。クォート記号そのものを表す際は

 "クォート記号は\"と\'です"

のように \"\' で表現する。なお、" "の中では'' 'の中では"を、それぞれ、そのまま記述して構わない。

数値データを文字列(str型)に変換する際は

a = str(123)
x = str(3.1415)

のように、str(他のデータ型) で包めばよい。

2.リストとしての文字列の操作

連結は +

str型のデータに対しては +は文字の連結を表し、"abc"+"cdf""abcdef" となる。 例えば、

import math
a = "pi=" + str(math.pi)
print(a)

を実行すると、画面にはpi=3.141592653589793と表示される。

文字は[番号]で指定する

文字列中の i番目の文字は、リスト(配列)と全く同じ要領で、 文字列[i] で指定する。

a = "abcdefg"
print(a[1])

'b' を出力する。また、a[-1]は末尾の文字 'g' となる。

[から:未満]で切り出しも可能

文字列の一部を「切り出す」ために、リストの場合と同様、スライシングも可能である。

a = "nonsense word"
b = a[0:8]   # bに"nonsense"をセット
c = a[9:]    # cに"word"をセット

len(文字列)で文字数を取得

文字列中の文字数もリスト(配列)と全く同じ要領で、 len(文字列) で取得できる。

print( len("12345") )

の出力は 5 となる。