前回の記事では文字列の扱い方について取り上げました。今回は文字列も数値のように足したり引いたりすることができますので、その方法について取り上げていきます。
前回の記事はこちら。

文字列の加算(結合)
文字列の場合、「+」演算子を使用することで文字列同士を結合することができます。前回の記事にて、小分けに定義しても自動的に文字列が結合されることを取り上げましたが、+演算子を用いることで、変数に格納された文字リテラルの結合等もできます。前回の記事の内容はあくまで定義方法についてなので文字列の結合といえば基本的に「+」演算子を用いて行うことになります。
1 2 3 4 |
a = "Hello" b = "World!" print(a + b) #HelloWorld!を出力 |
加算の場合、文字列同士の結合は行うことができますが、「文字リテラル + 数値リテラル」はデータの型違いのため計算することができません。加算は文字列同士、数値同士でないとエラーが発生します

文字列の乗算
文字列にて乗算の演算子「*」を使用することで、文字列の乗算をすることができます。他の言語ではあまり見かけないような計算ですが、Pythonの場合は、乗算するで文字列をその分繰り返して生成します。

具体的なコードは以下で確認しましょう。
1 2 3 4 |
a = "Hey!" b = a * 3 print(b) #Hey!Hey!Hey!を出力 |
なお、加算は同じ型同士でないと計算することができませんでしたが、文字リテラルを用いた乗算の場合、「文字リテラル * 数値リテラル」で計算することができます。なお順番には関係なく「数値リテラル*文字リテラル」でも同じ結果を得ることができます。

文字列の代入演算
文字列でも代入演算子を使用することができます。使用できる演算子は上記の2つを用いて「+=」と「*=」をそれぞれ用いることができます。文字列の代入演算子は数値の場合と一緒で 「a += b」は「a = a + b」、「a *= b」は「a = a * b」になります。
1 2 3 4 5 6 7 8 9 10 11 |
a = "Hello" b = "World!" a += b print(a) #HelloWorld!を出力 a = "Hey!" b = 3 a *= b print(a) #Hey!Hey!Hey!を出力 |
文字列の演算で使えない演算子
ここまで来たら何となく想定がつくと思いますが、文字列の演算には「+」や「*」といった正方向の演算は行うことができますが、「-」や「/」「%」といった負の方向の演算子は用いることができません。ここでは紹介しませんが、文字列から特定の文字列を引きたい、削除したといった場合はそれに応じた関数を用いてあげる必要があります。

特殊な演算子 – in演算子
一部特殊な演算子として 「in」演算子というものがあります。in演算子は文字列の中に対象となる文字列が含まれているか否かを調べるための演算子です。SQLクエリにも同じようなものがありますが、使用感は一緒です。
in 演算子の左辺に調べたい文字を、右辺に対象とする文字列or変数を配置します。そして調べたい文字が対象となる文字列に含まれている場合は、「True(正)」をそうでない場合は「False(負)」を返します。TrueFalseについては今後扱いますが、今は計算式が合っていればTrue、間違っていればFalseってイメージで良いです。

以上で、文字列については完了です。
特に難しいことはないとは思います。文字列の結合は変数を使用してよく行いますので、しっかりと把握しておきましょう。また、変数同士の計算には中身がなんの型になっているかを意識しないとエラーが発生しますので注意しておいてください。
次回は~について取り上げていきます。
今回はここまでです。お疲れ様でした。
コメント