Kodokon kodokon.com

文字列を深く:スライス、f文字列、メソッド

スライス、f文字列、文字列メソッドのおかげで、実際のプロジェクトのようにテキストを取り出し、整形し、きれいにしましょう。

8 分 · 3 問

このレッスンを Kodokon で開く

実際のプロジェクトでは、文字列を絶えず扱います。注文の参照番号、メールアドレス、ファイルの各行などです。スライス[start:stop:step]という記法で部分文字列を取り出します。stopのインデックスは含まれません。負のインデックスは末尾から数えます。そして境界を省くと、"最初から"あるいは"最後まで"という意味になります。

PYTHON
reference = "ORD-2026-00042"

print(reference[:3])    # ORD
print(reference[4:8])   # 2026
print(reference[-5:])   # 00042
print(reference[::-1])  # 24000-6202-DRO
スライスは、ループを一つも書かずに参照番号を分解する

f文字列はテキストを組み立てる現代的な方法です。文字列の前にfを付け、波括弧の中に式を書きます。コロンのあとの書式指定が表示を制御します。:.2fは小数点以下二桁に丸め、:03dはゼロで埋めます。実務では+による連結はやめましょう。f文字列のほうが読みやすく、型のエラーも避けられます。

PYTHON
product = "wireless keyboard"
price = 49.9
stock = 3

print(f"{product} : {price:.2f} EUR")
print(f"Stock : {stock:03d} units")
total = price * stock
print(f"Total : {total:.2f} EUR")
書式指定が数値のきれいな表示を保証する

文字列のメソッドは、データのクリーニングに必要なことをひととおり網羅します。stripは前後の空白を取り除き、splitはリストに分割し、joinは再びつなぎ合わせ、lowerupperは大文字小文字をそろえ、replaceは置き換え、startswithendswithは端をテストします。大切な点は、文字列はイミュータブルだということです。それぞれのメソッドは元の文字列を変更せず、新しい文字列を返します。

PYTHON
raw = "  Alice.Martin@Example.COM ; ADMIN "

email, role = raw.split(";")
email = email.strip().lower()
role = role.strip().lower()

print(email)  # alice.martin@example.com
print(role)   # admin
print(email.endswith("@example.com"))  # True
strip、lower、splitの連鎖:データをきれいにする三点セット

理解度チェック

このレッスンの要点をしっかり覚えているか確認しましょう。

  1. "python"[1:4]の値は何ですか?
    • pyt
    • yth
    • ytho
    • pyth
  2. print(f"{3.14159:.2f}")は何を表示しますか?
    • 3.14
    • 3.1415
    • 3,14
    • 0.14
  3. "a,b,c".split(",")は何を返しますか?
    • 文字列'abc'
    • リスト['a', 'b', 'c']
    • タプル('a', 'b', 'c')