Pythonプログラミング初心者に向けて、文字列の連結・繰り返しについて解説します。

以前、数値演算子を勉強したけど文字列だと使えないんですか?
文字列と文字列をくっつけて変数を更新したりできたら便利ですよね。

実は文字列に対しても数値演算子で使った「+」や「*」を使うことができるんですよ!
ごまこの言ってる文字列と文字列をくっつけるようなこともできますよ!
数値演算子で使った「+」と「*」は文字列に対しても使うことができます。
「+」は文字列同士の連結、「*」は文字列を繰り返す際に使います。
まずは「+」による文字列の連結から見ていきましょう。
文字列の連結
文字列の連結の基本
まずはプログラムで「+」を用いた文字列の連結の例を見てみましょう。
# 変数nameに「ごまお」を代入
name = "ごまお"
# 変数my_nameに文字列を結合して代入
my_name = "僕は" + name + "です。"
print(my_name)
# 実行結果 僕はごまおです。
my_name = "僕は" + name + "です。"
の行で3つの文字列「"僕は"」「変数name(文字列の"ごまお")」「"です"」を「+」で結合して1つの文字列としています。
ひとつに結合した文字列は変数「my_name」に格納されているので、出力結果は結合された1つの文字列「"僕はごまおです。"」となります。

文字列の結合ができました。
ちなみに前回も数値を代入した変数を更新していたけど、文字列の代入した変数も更新できるんですか?

変数はあくまで箱なので、文字列を入れた変数も更新できるんです!
上のコードで変数を更新するとこんな感じですよ!
変数の更新を用いた文字列の連結
文字列を代入した変数も更新することが可能です。
上のコードだと変数「name」「my_name」を用いましたが、変数「name」を更新する書き方は以下のコードです。
# 変数nameに「ごまお」を代入
name = "ごまお"
# 変数nameを結合した文字列で更新
name = "僕は" + name + "です。"
print(name)
# 実行結果 僕はごまおです。
name = "僕は" + name + "です。"
の行で3つの文字列「"僕は"」「変数name(文字列の"ごまお")」「"です"」を「+」で結合して1つの文字列として、変数「name」を更新しているので、出力結果は結合された1つの文字列「"僕はごまおです。"」となります。

文字列の結合して変数の更新もできました。
ということは変数の更新を短縮した書き方もできるんですか?

その通りです!
前回、変数の数値更新の短縮形のように文字列に対しても変数の更新ができるんです!
前回、数値を代入している変数で数値更新をする短縮する書き方を学びました。
「num = num + 3」は「num += 3」と同じ動作でしたね!
同様にして文字列に対しても変数の更新が短縮した形で書けます。
変数の更新を用いた文字列の連結 短縮形
短縮した形を用いて文字列の連結と更新を行うと以下のようになります。
# 変数animalに「あざらしは」を代入
animal = "あざらしは"
#変数animalに「可愛い」を連結して更新
animal += "可愛い"
print(animal)
# 実行結果 あざらしは可愛い
最初、変数「animal」には「あざらしは」という文字列が代入されています。
この変数に対して、短縮した形を用いて文字列の連結と更新を行っているので変数「animal」に「可愛い」が連結されて、変数が更新されています。
このため、最終的に変数animalを出力すると「あざらしは可愛い」となります。

短縮した書き方でも文字列の結合して変数の更新もできました。

うまくできたみたいで良かったです!
それじゃあ、続いて「*」を使った文字列の繰り返しを実践します!
文字列の繰り返し
文字列の繰り返しの基本
まずはプログラムで「*」を用いた文字列の繰り返しの例を見てみましょう。
# 変数helloに「こんにちは!」を代入
hello = "こんにちは!"
# 変数helloを「*」を使って繰り返し出力
print(hello * 2)
# 実行結果 こんにちは!こんにちは!
変数helloに代入した「こんにちは!」という文字列に「*2」を用いています。
これにより「こんにちは!」が2回繰り返されます。
そのため、出力結果は「こんにちは!」が2回繰り返された文字列「こんにちは!」となります。

文字列が繰り返し出力できました。
繰り返した文字列で変数を更新してみます!
変数の更新を用いた文字列の繰り返し
「+」を用いた文字列の連結と同様に、繰り返した文字列による変数の更新も可能です。
下のプログラムで文字列の繰り返した結果を用いた変数の更新を見てみましょう。
# 変数helloに「こんにちは!」を代入
hello = "こんにちは!"
# 変数helloを繰り返した文字列で更新
hello = hello * 2
# 変数helloを出力
print(hello)
# 実行結果 こんにちは!こんにちは!
最初に変数helloに文字列「こんにちは!」を代入します。
「hello*2」の部分で変数helloを2回繰り返して変数helloを更新しています。
そのため、変数helloは「こんにちは!こんにちは!」に更新されています。

うまくできましたか?
理解できた人はこのコードと同じ内容のコードを変数更新の短縮形でも書いてみたから確認してほしいです!
# 変数helloに「こんにちは!」を代入
hello = "こんにちは!"
# 変数helloを繰り返した文字列で更新
# hello = hello * 2 の短縮した形
hello *= 2
# 変数helloを出力
print(hello)
# 実行結果 こんにちは!こんにちは!
短縮した形を用いても、同様に文字列が繰り返せたでしょうか?

短縮した書き方でも文字列を繰り返し出力できました!

「文字列の連結」と「文字列の繰り返し」が身についてきたようで良かったです!
それじゃあ確認問題を解いてもっと理解を深めましょう!
それでは、これまでの内容を以下の問題でおさらいしてみましょう!
確認問題
①変数「seal」に文字列「ごまこ、」を格納して変数を作りましょう。
②変数「seal」に文字列「ごまお!」を連結した文字列で変数「seal」を更新しましょう。
③上の問題②で更新した変数「seal」を出力しましょう。
④変数「hello」に文字列「こんにちは!」を代入して変数を作りましょう。
⑤変数「hello」の文字列を3回繰り返して出力しましょう。
確認問題 解答例
以下が解答例です。実際に自分で書いて実行してみましょう。
#①変数「seal」に文字列「ごまこ、」を格納
seal = "ごまこ、"
#②変数「seal」に文字列「ごまお!」を連結した
#文字列で変数「seal」を更新
seal = seal + "ごまお!"
#②は以下の短縮した書き方でも同様
#seal += "ごまお"
#③上の問題②で更新した変数「seal」を出力
print("問題③",seal)
#実行結果 問題③ ごまこ、ごまお!
#④変数「hello」に文字列「こんにちは!」を代入
hello = 'こんにちは!'
#⑤変数「hello」の文字列を3回繰り返して出力
print("問題⑤",hello*3)
#実行結果
#問題⑤ こんにちは!こんにちは!こんにちは!
変数を更新した後で出力する問題③と⑤では、以前学んだprint関数の便利な使い方を用いて、問題番号の横に更新した変数を出力しました。
まとめ
いかがでしたでしょうか。
今回は文字列の連結と文字列の繰り返しについて詳しく解説しました。
次回からもPython初心者に向けて、詳しく解説していきます。
お楽しみに!
このサイトの記事一覧へは以下へアクセス!
コメント