Pythonの文字列操作を理解する:スライス・フォーマット・複数行文字列の基礎

python logo notext.svg

Pythonを使っていると、文字列は必ずと言っていいほど頻繁に登場します。ユーザーに何かを表示したり、データの一部を取り出したり、条件分岐に使ったりと、その用途は非常に多岐にわたります。

そのため、Pythonでは文字列を扱うための便利な仕組みが数多く用意されています。その中でもまず理解しておきたいのが、「スライス」と「文字列の生成・フォーマット」です。

Pythonの導入についてはこちら。

Python入門:最初のプログラムを作って実行する方法 – Lean Data Office

Python環境構築のやり方|初心者向け完全ガイド – Lean Data Office

Pythonの型についての解説はこちら。

Python入門:変数と型(データ型)を理解する – Lean Data Office

文字列の一部を取り出す(スライス)

文字列は、単なる「文字の並び」ですが、Pythonではそれをインデックス(番号)で管理しています。そして、その番号を使うことで、文字列の一部だけを切り出すことができます。

たとえば、次のような文字列を考えてみます。

text = "Learning Python is fun"

この中から「Learning」だけ取り出したいとします。このときに使うのがスライスです。

print(text[:8])
image

この書き方は、「最初から8番目の手前まで」という意味になります。ここで重要なのは、Pythonでは0から数え始めること、そして「終わりの位置は含まれない」という点です。このルールに慣れると、かなり自由に文字列を扱えるようになります。

また、開始位置や終了位置は省略することができます。たとえば、

print(text[9:])
image

と書けば、「9番目から最後まで」を意味します。文字列の長さが分からなくても、最後まで自動で取得できる点は非常に便利です。

こうした操作は文字列だけでなく、リストを扱うときにも同じように使えます。つまり、一度覚えてしまえば応用範囲が広いということです。

長さを知る:len

文字列やリストを扱ううえで、「どれくらいの長さなのか」を知ることもよくあります。その場合は len() 関数を使います。

print(len(text))
image

このようにすると、文字列に含まれる文字数が返ってきます。シンプルですが、とても重要な基本操作のひとつです。

文字列を組み立てる:f文字列

文字列を扱う場面では、「組み立てる」ことも非常に多くなります。たとえば、変数の値を文章の中に埋め込んで表示したい場合などです。

一番シンプルな方法は、文字列を連結する方法です。

score = 80
message = "Score is " + str(score)
print(message)
image

ただし、この方法は少し見づらくなりがちですし、数値を文字列に変換する必要もあります。

そこで、現在主流なのが「f文字列(フォーマット文字列)」です。

score = 80
print(f"Score is {score}")
image

この書き方を使うと、変数をそのまま埋め込むことができ、コードも読みやすくなります。さらに、単なる値だけでなく、式も書けます。

num = 7
print(f"Double is {num * 2}")
image

このように、結果を直接文字列の中に組み込めます。

数値の表示形式を変更する

もう一歩進むと、数値の「表示形式」をコントロールすることもできます。たとえば、小数点以下の桁数を揃えたい場合です。

import math
print(f"Pi is approximately {math.pi:.2f}")
image

※math.piは円周率(3.1415926535…)を表す定数で、2fは小数点2桁の浮動小数点を表しています。

こうしたフォーマット指定は、データを見やすくする上で非常に重要です。

なお、昔の書き方として format() 関数もありますが、現在は f文字列の方が直感的で簡潔なため、そちらがよく使われます。

複数行の文字列を扱う

通常、文字列は1行で書かなければエラーになりますが、長い文章や改行を含むテキストを扱う場合もあります。

そのときは、三重引用符を使います。

text = """Python is powerful.
It is easy to learn.
And widely used."""
image

このように書くことで、改行を含んだまま文字列として扱うことができます。

また、\n という記号を使っても改行を表現できます。

print("Hello\nWorld")
image

これは、2行に分けて表示されます。

まとめ

Pythonにおける文字列操作は、単なる「文字の扱い」を超えて、データ処理の基礎とも言える重要なスキルです。

特に覚えておきたいポイントは以下の通りです:

  • スライスを使えば、文字列の一部を柔軟に取り出せる
  • インデックスは0から始まり、終了位置は含まれない
  • f文字列を使うと、文字列の組み立てが簡単になる
  • 数値のフォーマットも文字列の中で指定できる
  • 複数行の文字列には三重引用符を使う

こうした基本を押さえておくことで、Pythonのコードは格段に読みやすく、そして扱いやすくなります。

筋トレとオートメーションが趣味。 モバイルアプリ個人開発者。 データ処理・可視化とレポートにハマり備忘録と情報共有のためにブログ開設し運営している。