Address
304 North Cardinal St.
Dorchester Center, MA 02124

Work Hours
Monday to Friday: 7AM - 7PM
Weekend: 10AM - 5PM

Pythonのstr.format()と書式指定文字列の文法

【Python入門】文字列操作のstr.format()と書式指定文字列の基本的使い方の解説

【Python入門】文字列操作のstr.format()と書式指定文字列の基本的使い方の解説

最速でプログラミングをマスターするならTechAcademy [テックアカデミー] 【PR】がオススメです。

マイペースで学ぶなら世界最大級の動画学習サイトUdemyがオススメです。セールで安く買える講座も多数!

Pythonの文字列を扱う機能はとても強力で便利です。今回はそんな文字列操作のうち、str.formatの基本的な使い方を見ていきます。

str.format()の書き方

Python公式ドキュメント:str.format(*args, **kwargs)¶

文字列.format(*args, **kwargs)

これが書き方の基本となります。

  • *args
  • *kwargs

これらはそれぞれ「可変長位置引数」と「可変長キーワード引数」と言いますが、これらについては解説記事「Pythonの関数の引数にアスタリスクを使った<関数 (~,*,・・・)>の意味とは?」をご覧ください。

書式指定文字列

このstr.formatですが、文字列オブジェクトの部分に書式指定文字列を組み合わせることができます。この書式指定文字列とは何かというと、ものすごく乱暴に言えば文字列の中で、

"Hello, {name}"

このように{}で囲った置換フィールドを使い、ある情報を別の形式の情報へ変換して表示させる書き方のことです。

この書式指定文字列とstr.formatを組み合わせた使い方の例がこちらです。

print("Hello, {name}".format(name="Tom"))

これは、str.formatの引数としてキーワード引数nameを設定し、その値としてTomという文字列を代入したものです。そしてこれを実行すると下のようになります。

Hello, Tom

nameという変数がTomという情報に変更されて表示されていますね。

それでは以下、str.format()と書式指定文字列の文法とを組み合わせた基本的な使い方を見ていきましょう。

基本的な使い方

上記公式ドキュメントで紹介されているコードを使って基本的な使い方を紹介します。次のコードを見て下さい。

#01: str.formatの「0番目」の位置引数を使用
print("First, thou shalt count to {0}".format("God"))

#02: 位置引数のインデックスを何も指定しないと自動的に0番目のものが使われる
print("Bring me a {}".format("coffee"))

#03: 位置引数は何も指定しないと前から順番に使われる
print("From {} to {}".format("nine a.m.", "five p.m."))

#04: キーワード引数を指定した場合
print("My quest is {name}".format(name="Tom"))

#05: 「インスタンスオブジェクト.属性」という書き方を使った場合
class Monster_Data:
    def __init__(self, name, weight):
        self.name = name
        self.weight = weight

monster_1 = Monster_Data("Godzilla", 60)
print("Weight in tons {0.weight}".format(monster_1))

#06: キーワード引数にリストを使った場合
print("Units destroyed: {players[0]} and {players[1]}".format(players=["Tom", "Mary"]))

ここでは#01~#06までの6パターンの使い方を紹介しました。これらを実行すると上から順番に、

First, thou shalt count to God
Bring me a coffee
From nine a.m. to five p.m.
My quest is Tom
eight in tons 60
Units destroyed: Tom and Mary

このようになります。いい感じですね!

プログラミングの学習には世界最大の動画学習サイトUdemyの動画講座がおすすめです。

大幅割引セールもよく開催されているためチェックしてみてください。

Udemy
愛を分かち合いましょう