Python - 文字または文字列を指定した回数、連結を繰り返す

文字または文字列に対してアスタリスク演算子(*)を使用すると、掛けた数だけ繰り返し連結し、新しい文字列を生成することができます。

繰り返し連結をする方法

文字または文字列を乗算すると、その文字列が掛けた回数だけ連結されます。
結果 = <文字列> * <繰り返し回数>

次のコードは 文字"a"を5回繰り返し連結し、新しい文字列"aaaaa"を生成します。

# "a" を 5回連結して返す
text = "a" * 5

# 結果 = "aaaaa"
print(f'"a"     * 5 -> "{text}"')

次のコードは 文字列"12345"を2回繰り返し連結し、新しい文字列"1234512345"を生成します。

# "12345" を 2回連結して返す
text = '12345' * 2

# 結果 = "1234512345"
print(f'"12345" * 2 -> "{text}"')
サンプルコードの実行結果
サンプルコードの実行結果

0 や 負の数 を掛けると?

0 や マイナス値を掛けると、空の文字列("")が返されます。

次のコードは文字列に対して 0 と マイナス値を掛けています。結果はどちらも 空文字列 です。

# 0 を掛ける
text = 'abcde' * 0

# 結果 = ""
print(f'"abcde" *  0 -> "{text}"')
# マイナス値を掛ける
text = 'abcde' * -1

# 結果 = ""
print(f'"abcde" * -1 -> "{text}"')
サンプルコードの実行結果
サンプルコードの実行結果

少数を掛けると?

実行時に TypeError が発生します。

次のコードを実行するとエラーが発生します。

# 0.5 を掛ける
text = 'abcde' * 0.5

エラーメッセージ

TypeError: can't multiply sequence by non-int of type 'float'
サンプルコードの実行結果
サンプルコードの実行結果

検証環境