文字列の操作:結合と繰り返し#
はじめに#
前回までの記事で、文字列の基本や変数、計算方法について学びました。今回は、さらに一歩進んで、文字列を操作する方法について詳しく見ていきましょう。
文字列の結合(連結)#
+ 演算子による結合#
文字列同士を結合する最も基本的な方法は、+
演算子を使う方法です。
以下のコードを実行してみましょう。
# + 演算子による文字列の結合
first_name = "太郎"
last_name = "山田"
# 姓と名を結合して氏名にする
full_name = last_name + first_name
print(full_name)
# 文字列同士の結合
greeting = "こんにちは、" + full_name + "さん!"
print(greeting)
実行結果:
山田太郎
こんにちは、山田太郎さん!
このように、+
演算子を使うと、複数の文字列を連結することができます。
数値と文字列の結合#
数値と文字列を結合したい場合は、まず数値を文字列に変換する必要があります。これには str()
関数を使います。
# 数値と文字列の結合
age = 30
message = "私は" + str(age) + "歳です。"
print(message)
# 型変換しないとエラーになる
# error_message = "年齢: " + age # TypeError
実行結果:
私は30歳です。
注意点として、文字列と数値は直接結合できません。上のコードでコメントアウトされている行を実行すると、TypeError
というエラーが発生します。
文字列の繰り返し#
* 演算子による繰り返し#
文字列を特定の回数だけ繰り返すには、*
演算子を使います。
# * 演算子による文字列の繰り返し
# 文字列を特定の回数繰り返す
star_line = "*" * 20
print(star_line)
# 文字列を繰り返して装飾する
message = "お知らせ"
decorated_message = "=" * 10 + message + "=" * 10
print(decorated_message)
実行結果:
********************
==========お知らせ==========
このように、*
演算子を使うと、文字列を指定した回数だけ繰り返すことができます。これは区切り線の表示や、メッセージの装飾などに役立ちます。
文字列とその繰り返しの組み合わせ#
文字列の結合と繰り返しを組み合わせることで、さらに多様な表現が可能です。
# 文字列の結合と繰り返しの組み合わせ
# ヘッダーとフッターを作成
header = "+" + "-" * 30 + "+"
content = "| " + "Welcome to Python!".center(28) + " |"
footer = "+" + "-" * 30 + "+"
# 枠付きメッセージを表示
print(header)
print(content)
print(footer)
実行結果:
+------------------------------+
| Welcome to Python! |
+------------------------------+
ここでは、center()
メソッドも使用しています。このメソッドは、指定された幅の中で文字列を中央に配置します。
フォーマット文字列(f-string)の詳細#
以前の記事でも少し触れましたが、f-stringについて、より詳しく見ていきましょう。
数値のフォーマット#
f-stringを使うと、数値の表示形式も簡単に制御できます。
# f-stringでの数値フォーマット
price = 1234.56
# 小数点以下の桁数指定
print(f"価格: {price:.2f}円") # 小数点以下2桁まで表示
# 3桁ごとにカンマを入れる
print(f"価格: {price:,.2f}円")
# 幅の指定(右寄せ)
print(f"価格: {price:10.2f}円") # 10桁の幅で表示(右寄せ)
# ゼロ埋め
code = 42
print(f"商品コード: {code:04d}") # 4桁でゼロ埋め
実行結果:
価格: 1234.56円
価格: 1,234.56円
価格: 1234.56円
商品コード: 0042
:
の後に書くフォーマット指定子によって、様々な表示形式を設定できます。主な指定子の意味は次の通りです。
.2f
: 小数点以下2桁まで表示,
: 3桁ごとにカンマを入れる10.2f
: 10桁の幅で表示し、小数点以下は2桁まで(右寄せ)04d
: 4桁でゼロ埋めした整数として表示
文字列のフォーマット#
文字列も同様に、幅や配置を調整できます。
# f-stringでの文字列フォーマット
name = "山田太郎"
# 幅の指定(左寄せ)
print(f"名前: {name:<10}さん") # 10文字の幅で左寄せ
# 幅の指定(中央寄せ)
print(f"名前: {name:^10}さん") # 10文字の幅で中央寄せ
# 幅の指定(右寄せ)
print(f"名前: {name:>10}さん") # 10文字の幅で右寄せ
実行結果:
名前: 山田太郎 さん
名前: 山田太郎 さん
名前: 山田太郎さん
文字列のフォーマット指定子の意味は次の通りです:
<
: 左寄せ^
: 中央寄せ>
: 右寄せ
特殊文字の埋め込み#
f-string内で波括弧自体を表示したい場合は、波括弧を二重にします。
# f-string内で波括弧を表示する
print(f"波括弧を表示するには、{{こうします}}。")
実行結果:
波括弧を表示するには、{こうします}。
まとめ#
この記事では、文字列の操作、特に結合と繰り返しについて学びました。
- 文字列の結合方法
+
演算子を使った結合str()
関数を使った数値との結合
- 文字列の繰り返し
*
演算子を使った繰り返し- 結合と繰り返しの組み合わせ
- f-string(フォーマット文字列)の活用
- 変数や式の埋め込み
- 数値のフォーマット指定
- 文字列の幅や配置の調整
これらの知識を使うことで、より柔軟で読みやすい文字列処理が可能になります。特にf-stringは、複雑なテキスト生成を簡潔に行えるPythonの強力な機能です。