• Xでシェア
  • LINEでシェア
  • このエントリーをはてなブックマークに追加

Python f-stringの使い方

この記事のポイント

Pythonのf-stringは文字列のフォーマットを簡潔に記述できる便利な機能です。以下のポイントを理解することで、効率的に活用できるようになります。

  • 直感的な構文で、変数を文字列に簡単に埋め込むことができる
  • 従来の方法よりコードを読みやすくでき、処理速度も速くできる 
  • 文字列の中で計算や関数呼び出しも直接記述する、柔軟な使い方ができる

これらの特徴を活かすことで、より効率的なPythonプログラミングが実現できます。

目次

f-stringとは?

f-stringは、Python 3.6から導入された文字列の便利な機能です。正式名称は「formatted string literals」といい、文字列の前にfを付けることで使用できます。

f-stringでは波括弧{}内に変数名や式を直接書いて、その値を文字列に埋め込みます。従来のformat()メソッドや%を使った記法よりも直感的で読みやすく、処理も速いのが特徴です。

この機能により、状況に応じて内容が変わる動的な文字列を簡単に作ることができ、例えばプログラムのデバッグ出力やログ出力、ユーザーへのメッセージ表示など、さまざまな場面で活用されています。

【関連】
Pythonをもっと詳しく学ぶならpaizaラーニング

基本構文

f-stringの基本的な使い方は非常にシンプルです。文字列の前にfまたはFを付けて、波括弧{}内に変数や式を記述するだけで使えます。以下のコード例で基本的な使用方法を確認してみましょう。

変数の値を直接文字列に埋め込む場合と、計算式を{}の中に書いて、その計算結果を表示する場合の2種類を紹介します。これらの例を通じて、f-stringの基本的な仕組みを理解していきましょう。

animal = "ネコ" age = 3 message = f"私のペットは{animal}で、{age}歳です。" print(message)

出力結果

私のペットは ネコで、3歳です。
price = 1500 tax_rate = 0.1 total = f"合計金額は{price * (1 + tax_rate):.0f}円です" print(total)

出力結果

合計金額は1650円です

実用例

ここからは、Pythonのf-stringをより実践的に使うための例を紹介します。変数の埋め込みだけでなく数値の表示形式を整えることや条件分岐を含む複雑な式まで、さまざまなシーンで活用できるテクニックを学んでいきましょう。

それぞれの例では動物を使った親しみやすいサンプルコードを通じて、実際の開発現場で使える実践的な内容をお伝えします。これらの例を参考に、日々のプログラミングでf-stringを効果的に活用してください。

基本的な変数埋め込み

最もシンプルなf-stringの使い方は、変数の値をそのまま文字列に埋め込む方法です。複数の変数を同時に使用することで、状況に応じて内容が変わる動的なメッセージを簡単に作ることができます。

pet_name = "ポチ" pet_type = "イヌ" owner = "田中さん" introduction = f"{owner}の飼っている{pet_type}の名前は{pet_name}です" print(introduction)

出力結果

田中さんの飼っているイヌの名前はポチです

数値のフォーマット指定

f-stringでは数値の表示形式を細かく制御できます。例えば小数点以下の桁数を指定したり、大きな桁を区切って読みやすくしたりするなど、用途に合わせてさまざまな形式で表示することができます。

cat_weight = 4.567 food_cost = 12500 report = f"ネコの体重: {cat_weight:.1f}kg" cost_info = f"年間のエサ代: {food_cost:,}円" print(report) print(cost_info)

出力結果

ネコの体重: 4.6kg
年間のエサ代: 12,500円

計算式の直接記述

f-stringの波かっこ{}の中には、変数だけでなく計算式も直接記述できます。これにより、複雑な計算結果を一行で文字列に組み込めるため、コードをより簡潔に書けるようになります。

rabbit_age_months = 18 human_equivalent = rabbit_age_months * 5 message = f"ウサギの{rabbit_age_months}ヶ月は人間の約{human_equivalent}歳です" calculation = f"計算式: {rabbit_age_months} × 5 = {rabbit_age_months * 5}" print(message) print(calculation)

出力結果

ウサギの18ヶ月は人間の約90歳です
計算式: 18 × 5 = 90

条件分岐を含む表現

f-string内では、三項演算子を使うことで条件に応じた内容を表示させられます。三項演算子とは、ある条件が正しいかどうかで返す値を切り替えられる特別な書き方です。この機能は、条件に応じてメッセージを動的に変更したい場合に非常に便利です。

bird_count = 3 status = "元気" report = f"トリが{bird_count}羽います" health = f"みんな{status}{'です' if bird_count > 1 else 'です'}" summary = f"{'複数' if bird_count > 1 else '一羽'}のトリを飼育中" print(report) print(health) print(summary)

出力結果

トリが3羽います
みんな元気です
複数のトリを飼育中

文字列メソッドの適用

f-string内では、機能を実行する命令である文字列のメソッドも使うことができます。これにより、大文字・小文字の変換や文字列の整形など、柔軟な文字列操作が一行で行えます。

animal_name = "hamster" japanese_name = "はむすたー" formatted = f"英語: {animal_name.upper()}" katakana = f"カタカナ: ハムスター" length_info = f"文字数: {len(animal_name)}文字" print(formatted) print(katakana) print(length_info)

出力結果

英語: HAMSTER
カタカナ: ハムスター
文字数: 7文字

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

f-stringは、datetimeオブジェクトと組み合わせることで日付や時刻をわかりやすい形式で表示できます。これは、ペットの記録や管理システムなど、日付や時刻を扱う場面でよく使用される機能です。

from datetime import datetime current_time = datetime.now() pet_name = "ミケ" timestamp = f"{pet_name}の最終確認時刻: {current_time:%Y年%m月%d日 %H時%M分}" date_only = f"記録日: {current_time:%Y-%m-%d}" time_only = f"時刻: {current_time:%H:%M:%S}" print(timestamp) print(date_only) print(time_only)

出力結果(例)

ミケの最終確認時刻: 2024年12月19日 15時30分
記録日: 2024-12-19
時刻: 15:30:45

※実行時に出力されるのはUTC形式のため、日本時間とは9時間の時差があります。

リストとの組み合わせ

リストの要素をf-stringで参照することも可能です。リストの何番目にあるかをインデックスで指定すれば、その要素を文字列に埋め込めます。

animals = ["イヌ", "ネコ", "ウサギ", "ハムスター"] counts = [2, 1, 3, 1] first_report = f"一番多いのは{animals[2]}で{counts[2]}匹です" summary = f"合計{sum(counts)}匹の動物を飼っています" variety = f"{len(animals)}種類の動物がいます" print(first_report) print(summary) print(variety)

出力結果

一番多いのはウサギで3匹です
合計7匹の動物を飼っています
4種類の動物がいます

辞書データの活用

f-stringを使うと、辞書のキーと値を効率よく表示できます。辞書のキーを指定して値を取り出すことで、ペットの詳細情報や設定値の表示など、整理されたデータを簡単に表示できます。

pet_info = {"name": "シロ", "type": "ネコ", "age": 5, "weight": 4.2} profile = f"名前: {pet_info['name']} ({pet_info['type']})" details = f"年齢: {pet_info['age']}歳, 体重: {pet_info['weight']}kg" status = f"{pet_info['name']}は健康状態良好です" print(profile) print(details) print(status)

出力結果

名前: シロ (ネコ)
年齢: 5歳, 体重: 4.2kg
シロは健康状態良好です

まとめ

f-stringは文字列の整形を効率的に行うための、とても便利な機能です。昔からある方法と比べてコードが読みやすく、実行速度も速いので、現代のPython開発では欠かせないものとなっています。単純な変数埋め込みから複雑な計算式の表示まで、幅広い用途で活用できる柔軟性があります。

Python f-stringの活躍する場面 

  • プログラムのデバッグ時やログメッセージを作るとき
  • アプリやウェブサイトででの動的なメッセージを表示したいとき 
  • データ分析の結果をレポートにまとめたりグラフに表示したりするとき

重要なポイント 

  • 波括弧内では変数、式、関数を呼び出しすることができる
  • 数値の表示形式を整えたり、文字列を加工する操作も{}の中で直接行える
  • 三項演算子を使うことで、条件分岐も簡潔に記述できる

f-stringをマスターすることで、より読みやすく、効率的なコードが書けるようになります。日常的なプログラミング作業において、文字列を扱う作業がずっと楽で快適になるでしょう。

レベルを更に上げたい方はpaizaプログラミングスキルチェックへ

  1. paizaラーニングトップ
  2. リファレンス
  3. Pythonのリファレンス記事一覧
  4. Python f-stringの使い方