0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

25daysTechAdvent Calendar 2024

Day 3

Pythonでのf-stringを活用した文字列フォーマットの使い方

Posted at

Python 3.6以降で利用可能なf-stringは、簡潔で可読性の高い文字列フォーマットを提供します。本記事では、基本的な使い方から応用例までを解説します。


f-stringとは?

f-string(フォーマット文字列)は、文字列の中に変数や式を直接埋め込むことができるPythonの機能です。以下のように、文字列の前にfまたはFを付けて使用します:

name = "Alice"
age = 25
print(f"My name is {name} and I am {age} years old.")
# 出力: My name is Alice and I am 25 years old.

これにより、従来のstr.format()%演算子を使ったフォーマットよりも簡潔に記述できます。


基本的な使い方

変数の埋め込み

f-stringでは、波括弧 {} 内に変数をそのまま記述できます:

language = "Python"
version = 3.10
print(f"I love {language} version {version}!")
# 出力: I love Python version 3.10!

式の埋め込み

波括弧内に式を記述することも可能です:

x = 10
y = 5
print(f"The result of {x} + {y} is {x + y}.")
# 出力: The result of 10 + 5 is 15.

応用例

フォーマット指定

f-stringでは、フォーマット指定子を使って表示形式を制御できます:

小数点以下の桁数を指定

pi = 3.14159
print(f"Pi is approximately {pi:.2f}.")
# 出力: Pi is approximately 3.14.

数値をゼロ埋め

number = 42
print(f"The number is {number:05}.")
# 出力: The number is 00042.

パーセンテージ表示

accuracy = 0.98765
print(f"Accuracy: {accuracy:.2%}")
# 出力: Accuracy: 98.77%

辞書の値を参照

f-stringを使って辞書の値を参照することも可能です:

data = {"name": "Bob", "age": 30}
print(f"Name: {data['name']}, Age: {data['age']}")
# 出力: Name: Bob, Age: 30

日付と時間のフォーマット

Pythonのdatetimeモジュールと組み合わせて使用すると、日時のフォーマットも簡単に行えます:

from datetime import datetime
now = datetime.now()
print(f"Current date and time: {now:%Y-%m-%d %H:%M:%S}")
# 出力例: Current date and time: 2024-12-25 14:30:45

注意点

  1. Python 3.6以降が必要
    f-stringはPython 3.6で導入されたため、それ以前のバージョンでは使用できません。

  2. セキュリティに注意
    f-string内でユーザー入力を直接評価するのは危険です:

    user_input = "__import__('os').system('rm -rf /')"
    # print(f"{user_input}") のようなコードは危険!
    

まとめ

f-stringは、簡潔で強力な文字列フォーマット方法を提供します。本記事で紹介した基本的な使い方や応用例を参考に、日々のPythonコードで活用してください!

関連リンク


最後まで読んでいただき、ありがとうございました!ぜひ、コメントやフィードバックをお寄せください!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?