Python 3 の文字列フォーマット formatメソッド

phiary に引っ越しました. 毎日プログラミングやWebに関する情報を発信しています! RSS 登録してたまに覗いたり, tweet やハテブして拡散してもらえると幸いです.

Pocket

% 演算子 (モジュロ)を使った文字列フォーマットは今後廃止予定らしいので, それに変わる Python 3 の format メソッドを使ってみたところ思いのほか良い感じだったのでまとめてみました.

主な良い点
  1. 型に縛られない
  2. キーを指定できるため順不同
  3. オブジェクトや辞書をそのまま渡せる
  4. 引数を使いまわせる

Example

formatメソッドの良かった点の使用例です.

# coding: utf-8
# python 3 : フォーマットメソッドのサンプル

# ----------------------------------------------------------------
# format examples
# ----------------------------------------------------------------

# 型に縛られない
print("1.")
print( "{0} : {1} + {2} = {3}".format("足し算", 8, 0.5, 8+0.5) )

# キーを指定できるため順不同
print("2.")
print( "名前 : {name}, 年 : {age}".format(age="128", name="山田") )

# オブジェクトや辞書をそのまま渡せる
print("3.")
print( "名前 : {0[name]}, 年 : {0[age]}".format( {"age":"128", "name":"山田"} ) )

# 引数の使い回し
print("4.")
print("""{0}くんはウンチを踏みました.
{0}くんは気づいていない様子だったので
{0}に近づくと,
{0}くんはこちらを振り返って言いました.
「運がついたね^^」
みんなは{0}くんから離れていきました.
""".format("山田")
)


""" 実行結果
0.
足し算 : 8 + 0.5 = 8.5
1.
名前 : 山田, 年 : 128
2.
名前 : 山田, 年 : 128
3.
山田くんはウンチを踏みました.
山田くんは気づいていない様子だったので
山田に近づくと,
山田くんはこちらを振り返って言いました.
「運がついたね^^」
みんなは山田くんから離れていきました.
"""
    

会社では python 2.6 を使っているので, python 3 を勉強していると新しい機能が沢山あって楽しいです.

TRACK BACK URL

POST COMMENT

メールアドレスが公開されることはありません。

COMMENT