Cのsprintfのような文字列フォーマット

Cのsprintfみたいなことをしたいというケースがあります。その場合は、文字列に%演算子を使います。
コードの例を以下のような感じです。

num = 10
str = 'taro'

# 文字列のフォーマット
formatted_msg = 'Hello %s' % str
print formatted_msg # Hello taroと出力

# 数字のフォーマット, %演算子の右側が複数の場合は括弧でかこむ
formatted_msg = '%d %x %X %f' % (num, num, num, num)
print formatted_msg # 10 a A 10.000000と出力

# 桁数を指定して数値のフォーマット
formatted_msg = '%04d %02x %02X %2.3f' % (num, num, num, num)
print formatted_msg # 0010 0a 0A 10.000と出力

ぼくがよく使う文字列フォーマットは以下です。

コード
%s 文字列
%d 10進数
%x 16進数。a-fは小文字
%X 16進数。A-Fは小文字
%f 浮動小数

精度を指定する場合は以下のようになります。

コード指定 説明
%04d '0010'というように4桁で出力
%02X '0A'などと2桁の16進数で出力
%2.3f '10.000'と整数部分2桁、小数点以下3桁で出力