【ヤギでもわかるPython入門】文字列型

ヤギでもわかるPython入門
スポンサーリンク
読了時間 挨拶

記事は約 6 分で読めます。

くろやぎ
くろやぎ

みなさん、こんにちは!
くろやぎ(kuroyagikuncom)です。
よろしければ、Twitterの方にも遊びに来てください。

今回はPythonでの文字列の扱い方について解説します。よろしくお願いします。

スポンサーリンク

Pythonにおける文字列の基礎

プログラムでは、文字の集まりを文字列として扱います。Pythonで文字列を扱うためには対象の文字列をシングルクォーテーション「’」、またはダブルクォーテーション「”」で囲みます。

構文

‘文字列’

例えば、文字列をコンソールに出力するには次のように記述します。

name = 'kuroyagikun'
print(name)

この例のように、変数は記号でくくらずにそのまま記述し、文字列はクォーテーションでくくって記述することで、両者の区別をしています。

また「”””」のように3連続のクォーテーションで囲むと、複数行にまたがって文字列を記述することができます。ちなみに、「”””」を3連引用符と言います。

kuroyagi_friends= """
        siroyagi
        aoyagi
"""
print(kuroyagi_friends)

Pythonにおける文字列の連結

文字列は、文字列同士の足し算をすることができます。つまり、複数の文字列を連結することができるということです。文字列を連結するためには「+」を使います。

temp = 'kuro'
temp = temp + 'yagi'
temp = temp + 'kun'
print(temp)

1行目において、tempに’kuro’を代入します。2行目において、temp(つまり、’kuro’)と’yagi’を足して、その結果をtempに代入します。同じ変数に代入を行うと、変数に格納されている値が上書きされます。現時点では、’kuroyagi’がtemp内に入っています。そして、3行目において、’kun’を足し、4行目において、文字列をコンソールに出力します。
前回学んだ複合演算子「+=」を用いることで、両辺の和を変数に代入することができます。簡単に言うと、文字列への文字列の追加ができるようになるということです。先ほどの例を「+=」を使って書き換えましょう。

temp = 'kuro'
temp += 'yagi'
temp += 'kun'
print(temp)

「*」を使うことで、文字列の乗算をすることができ、文字列を任意の回数だけ繰り返すことができます。

temp = 'YEAH!! '
temp = temp * 3
print(temp)

1行目において、 ‘YEAH!! ‘をtempに代入します。2行目において、それを3回かけて(2回足して)tempに代入します。そして3行目でコンソールに出力します。

Pythonにおける数値型から文字列型への変換

Pythonでは文字列と数値を次のように扱います。

文字列型と数値型

‘1+2’:文字列型
1+2:数値型

前者は「数字」すなわち「文字」として扱っているのに対し、後者は「数値」すなわち「数学的な値」として扱っています。これらの違いはprint関数を使うことで明確に理解できます。

print('1+2')
print(1+2)

出力結果を見ると、前者は「1+2」とそのまま表示され、後者は1+2の演算結果が表示されたことが確認できると思います。
もし数値型を文字列型に変換して扱いたいときにはstr関数を使います。

temp = 5
print('今だけ' + str(temp) + '割引!')

Pythonにおける文字列型から数値型への変換

文字列型から数値(整数)型への変換を行うにはint関数を使います。

temp = '3'
print('WILD ' * int(temp))

文字列型から浮動小数点数型への変換にはfloat関数を使います。

temp = '0.14' # '.14'のように0を省略して記述することも可能
print(3 + float(temp))

Pythonにおける型の扱い方

これまでの説明で「文字列型」や「数値型」など、うるさく型型と言ってきましたが、プログラミングにおいて型をそろえることはとても重要です。型とは、端的に言うと、データの種類のことで、数値や文字列といったデータの種類を、型により判別しています。
では型を無視してプログラミングしようとするとどうなるのでしょうか?次の例を見てください。

1 + '2'

この例では、型を無視して強制的に数値型と文字列型を足し算しようとしています。このスクリプトを実行すると、当然ですが以下のようなエラーが表示されます。

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'str'

簡単に言うと、「int型とstr型の演算はできませんよ」という内容です。
このように、プログラミングでは型を意識して記述する点に気を付けなければなりません。プログラミング初心者以外でもうっかりこのミスをやりがちなので、常に意識して自分の体に染み込ませましょう。

Pythonにおける文字列の置換

文字列中の誤字を置換したいといった場合にはreplaceメソッドを使うと便利です。「メソッド」とはオブジェクト(データの塊のようなもの)内で定義される関数のようなものです。今のうちは関数だと思ってもらってOKです。replaceメソッドの書式は次の通りです。

構文

文字列.replace(置換対象の文字列, 置換後の文字列)

実際使うときには、次のように記述します。

temp = 'しろやぎくん'
print(temp.replace('しろ', 'くろ'))

文字列内の「しろ」が「くろ」に置換され、その結果がprint関数により出力されたことが確認できます。

Pythonにおける文字列の分割

文字列を分割したいときはsplitメソッドを使います。このメソッドはリストで戻り値を返します。リストとは、一続きのデータのまとまりのことです。以前学んだ配列の概念を思い出せば簡単に理解できます。リストについては後ほど詳しく解説します。「,」を含む文字列の分割をするときのsplitメソッドの構文は次の通りです。

構文

文字列.split(,)

「,」のような、区切りを示す文字列を区切り文字列と言います。「,」に限らず「、」や「:」でもOKです。例を挙げると、「 」(半角スペース)を区切り文字列として使うときには、次のように記述します。

temp = 'くろやぎは 今日も 家で ごろごろしている'
print(temp.split(' '))

半角スペースを区切りにして、文字列が分割されていることが確認できます。

Pythonにおける文字列の検索

文字列中に任意の文字列が含まれているかを調べるときは、比較演算子「in」を使います。戻り値は真偽値になります。真偽値とは、True(真)またはFalse(偽)のことです。簡単に言うと、任意の文字列が含まれる時には「True(真)」を、含まれない場合には「False(偽)」を返します。

temp = 'kuroyagikun'
print('k' in temp)
print('e' in temp)

2行目において、「k」というという文字列が’kuroyagikun’内に含まれているためTrueが出力されます。3行目において、’kuroyagikun’内に「e」という文字列は含まれていないためFalseが出力されます。

まとめ

いかがでしたか?
今回学んだことをまとめておきますね。

  • Pythonにおける文字列の記述方法
  • 文字列操作の基本
  • 文字列型と数値型の変換
  • 文字列の置換、分割、検索

次回はPythonで配列を扱う方法について解説します。

コメント

タイトルとURLをコピーしました