【超カンタン】f文字列の使い方をわかりやすく解説|構造と書式設定

Python

(最終更新月:2022年1月)

✔このような方へ向けて書かれた記事となります

「変数と文字列を連結したい!カンタンな方法ってないの?」

「いくつかやり方があるの?結局どれがイイんだろう、、、」

✔当記事を通じてお伝えすること

  • 【超カンタン!】f文字列の使い方をわかりやすく解説
  • 【文字列の連結】他の2パターンを検証してみよう!
profile_icon

【Python歴】10年 x 【営業マン歴】11年

HP作成、社内システムの構築、コンサルティング

Pythonベースのフレームワーク 「Django」を使って下記のようなサイトを作っています!

日報アプリ
当ブログで一から開発方法を解説している日報アプリ(デモ版)です
ツールアプリ
当ブログで紹介したPythonアプリのWeb版です。DjangoAPIとReactで開発。随時更新中です。

【超カンタン!】f文字列を使い方をわかりやすく解説

f文字列を使うと変数と文字列をカンタンに組み合わせることができ、新しい文字列を作ることができます

基本的な構造

書き方のポイントとして押さえたいことは2つです

  1. 文字列の先頭に「f」を記述
  2. 変数を波括弧{ } で囲う

{ }で囲う事で、変数の中身を取り出し、表示してくれます

【例】

>>> i = 12345
>>> print(f”今日の数字は{ i }です”)
今日の数字は12345です

文字列を囲う「”」(ダブルクォート)は、シングルクォート「’」、トリプルクォート「’’’」でも問題ありません

基本的な構造は以上ですが、次章ではもう少し詳しく、文字列の書式を指定する方法を解説します

{ 変数: 書式指定文字列 }

詳しく見ていきましょう!

書式設定の基本

書式設定の基本として、3つお伝えします

  • 変数内の値を右、中央、左に寄せる方法
  • 辞書の値を取り出す方法
  • 変数名と値を同時に取り出す方法

一つ一つ見ていきましょう

①好きな文字で埋める & 変数内の値を右、中央、左に寄せる

{ <変数>: <埋めたい文字><指定文字列><文字数> }

s = “yulikepthon” #文字列型
>>> print(f"右寄せ→  {s:->20}")
右寄せ→  --------yulikepython

右寄せの場合の指定文字列は「>」になります

>>> print(f"中央寄せ→  {s:-^20}")
中央寄せ→  ----yulikepython----

中央寄せの場合の指定文字列は「^」になります

>>> print(f"左寄せ→  {s:-<20}")
左寄せ→  yulikepython--------

左寄せの場合の指定文字列は「<」になります

「-」を別の文字にすると、その文字で残りの字数を埋めることになります

②辞書の値を取り出す

{ 辞書型変数[キー] }

>>> d = {“a”: 1, “b”: 2} #辞書型
>>> print(f"{ d['a'] }")
1

全体を囲うクォート辞書のキーを囲うクォート別のものを使わないとエラーとなります

③変数名と値を同時に出力する(Pythonのバージョンが3.8以降)

{ <変数名>= }

>>> print(f"{s=}")
s='yulikepython'

新しいPython3のバージョン(3.8以降)でないと使用できません

int型、float型で使える書式設定

スポンサーリンク

①ゼロ埋め

{ <変数>:0<桁数> }

数字の前に「0」を入れることができる

>>> i = 12345
>>> print(f"ゼロ埋めで合計10桁にする→  {i:010}")
ゼロ埋めで合計10桁にする→  0000012345

②桁区切り

{ <変数>: , }

>>> i = 12345
>>> print(f"桁区切り: {i:,}")
桁区切り: 12,345

③小数点以下の桁数を指定

【小数点以下の桁数を指定する】

{ <変数>: .<桁数>f }

>>> f = 1.2345
>>> print(f"小数点以下2桁: {f: .2f}")
小数点以下2桁:  1.23

【float型全体の桁数を指定する】

{ <変数>: .<桁数>g }

f = 1.2345
>>> print(f"全部で2桁: {f: .2g}")
全部で2桁:  1.2

④%で表示する

{ <変数>: .<小数点以下の桁数>% }

f2 = 0.12345
>>> print(f"%で表示: {f2: .2%}")
%で表示:  12.35%

⑤計算式の結果を表示

{ <変数を使った計算式> }

>>> i1 = 5
>>> i2 = 7
>>> print(f"{i1} + {i2} = {i1+i2}")
5 + 7 = 12

以上が基本的なf文字列を使った、新たな文字列作成の方法になります

ただし、f文字列以外にもやり方が2つほどあります

合わせて見ていきながらf文字列の特徴をご理解ください

【文字列の連結】他の2パターンを検証してみよう!

「+」を使う方法

<変数> + <変数>もしくは<文字列>

>>> i = 12345
>>> print(“今日の数字は” + i + “です”)
今日の数字は12345です

文字列同士を足し算します

覚えやすく簡単ですが、この方法は長くなれば長くなるほど、複雑になります

また、型が違うものを足し算すると、

>>> age = 30
>>> name = "Yu"
>>> print(name + "は、" + age + "歳です")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: cannot concatenate 'str' and 'int' objects

エラーとなります

その場合は、str()メソッドなどで型の変更が必要になります

対して、f文字列ではそのまま使用することが可能です

formatを使う

“<文字列内に{ }で変数の場所を指定>”.format(変数名)

>>> i=12345
>>> print(“今日の数字は{}です”.format(i))
今日の数字は12345です

変数が複数の場合、{ }内にキーを入れて指定することもできます

>>> number1 = 10
>>> number2 = 20
>>> print("1つ目: {number1}、2つ目:{number2}".format(number1=number1, number2=number2))
1つ目: 10、2つ目:20

ただし、この方法も変数が多くなると複雑になってきます

また、f文字列ではできてもこちらではできないことがあります

>>> print("{number1 + number2}".format(number1=number1, number2=number2))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'number1 + number2'

計算式は入れることができません

まとめ

f文字列は、他の方法と比べると、

  • 変数の型を気にしなくて良い
  • 計算式が使える
  • スッキリ見える

などのメリットがあることがわかっていただけたのではないでしょうか?

今回のご説明が全てではありませんが、大半の基本はこれでマスターできたはず!

ぜひ色々な場面でお使い頂き、少しでもお役に立てれば幸いです

Pythonでホームページが作れるのをご存知でしょうか?

当ブログでは、PythonをベースとしたDjangoフレームワークを使って一からホームページを作成、公開するまでを解説しているブログになります

最終的には、下記リンク先のような日報アプリを開発、公開できるように進めていきます

https://nippo.itc-app.site/
ようこそ!簡易日報アプリ「D-Repo」へ!こちらは無料で使える日報アプリのデモサイトになります!「Webアプリはとてもカンタンで便利!」を感じてみよう!

興味のある方はシリーズの記事が一覧となっている↓のページをご覧ください

【Django】チュートリアル|日報アプリの開発から公開まで
Djangoのチュートリアルをお探しですか?具体的に「手を動かして作ってみたい!」という方へ向けて、誰でもできる簡易的な日報アプリの開発を通じて、Djangoの様々な機能に触れていくシリーズとなっています。PythonでWebアプリを作りたい方、必見の記事となります!
タイトルとURLをコピーしました