Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonのformat()関数とは?基本から応用まで使い方を徹底解説

Pythonのformat()メソッドは、指定した値を整形して文字列内のプレースホルダー({})に埋め込むための便利な機能です。数値や文字列を自由に組み込んだ読みやすい出力を作成できるため、日常的なプログラミングで頻繁に活用されています。この記事では、format()関数のさまざまな使い方を具体例とともにわかりやすく紹介します。

単一のプレースホルダーに値を埋め込む

まずは最も基本的な使い方です。指定した範囲の数値を、固定文字列の中のプレースホルダーへ順番に代入してみましょう。

コード例

for i in range(19,25):
    print("There are {} boxes!".format(i))

実行結果

上記のコードを実行すると、次のような結果が得られます。

There are 19 boxes!
There are 20 boxes!
There are 21 boxes!
There are 22 boxes!
There are 23 boxes!
There are 24 boxes!

複数のプレースホルダーを使う

format()には複数の引数を渡すことができるため、複数のプレースホルダーにそれぞれ異なる値を埋め込むことができます。

コード例

i=1
months={'Jan','Feb','Mar'}
for m in months:
    print("Month no {} is {}".format(i,m))
    i=i+1

実行結果

上記のコードを実行すると、次のような結果が得られます。

Month no 1 is Jan
Month no 2 is Mar
Month no 3 is Feb

※なお、セット(set)は要素の順序が保証されないため、実行環境によって出力順序が変わる場合があります。

位置インデックスで順序を制御する

プレースホルダーに番号を指定すると、引数の位置(インデックス)に対応する値を、好きな場所に自由に埋め込めます。

コード例

print("This week I'm working on {1},{2} and {4}".format('Mon','Tue','Wed','Thu','Fri'))

実行結果

上記のコードを実行すると、次のような結果が得られます。

This week I'm working on Tue,Wed and Fri

キーワード引数を使う

キーワード引数を組み合わせれば、どの値がどこに入るのかが明確になり、より直感的で可読性の高いコードを書けます。

コード例

print("The 3{r}, 4{t} and 5{t} ranks are winners".format(r='rd',t='th'))

実行結果

上記のコードを実行すると、次のような結果が得られます。

The 3rd, 4th and 5th ranks are winners

まとめ

format()関数を使いこなせば、単純な値の置き換えから位置インデックスによる順序指定、キーワード引数による明示的な指定まで、柔軟な文字列フォーマットが可能になります。Python 3.6以降ではf文字列(f-string)も広く使われていますが、format()は既存コードの読解や保守において依然として重要な知識なので、ぜひマスターしておきましょう。

  1. Pythonのissubset()関数とは?部分集合の判定方法を実例付きで解説

    本記事では、Python標準ライブラリに用意されているissubset()関数の仕組みと使い方について詳しく解説します。 issubset()メソッドは、あるセット(集合)のすべての要素が、引数として渡した別のセットにも含まれている場合にブール値のTrueを返し、1つでも含まれていない要素があればFalseを返します。 下の図では、BはAの部分集合です。もしAとBが同一のセットであれば、両者は互いに部分集合の関係にあるといえます。つまり、両方のセットがまったく同じ要素を持っているということを意味します。 構文 <set 1>.issubset(<set 2>) 戻り値

  2. Pythonのintersection()関数とは?集合の共通要素(積集合)を求める方法

    この記事では、Pythonのセット(集合)に対して実行できるintersection()関数について詳しく解説します。数学における「積集合(インターセクション)」とは、2つの集合から共通する要素を見つけ出すことを指します。構文<セット名>.intersection(<セットa1>, <セットa2>, …)戻り値引数として渡されたすべての集合に共通する要素(積集合)が、新しいセットとして返されます。使用例set_1 = {t,u,t,o,r,i,a,l} set_2 = {p,o,i,n,t} set_3 = {t,u,t} # 2つの集合の積集合 print