単純な補間
a = 5
b = 1.2345
c = "moji"
print("a:%d" % a) # int:整数
print("b:%f" % b) # float:浮動小数
print("c:%s" % c) # string:文字列
a:5 b:1.234500 c:moji
複数項目を補間(タプル形式)
print("a:%d b:%f c:%s" % (a, b, c)) # 保管する順番にタプルに格納
a:5 b:1.234500 c:moji
桁数を指定して補間
print("a:%5d" % a) # 5桁表示
print("b:%.3f" % b) # 小数点以下3桁表示
print("c:%5s" % c) # 5桁表示
a: 5 b:1.234 c: moji
組合せ応用例
for i in range(1, 11):
print("[%2d] %2d / %2d = %.4f" % (i, i, i+1, i/(i+1)))
[ 1] 1 / 2 = 0.5000 [ 2] 2 / 3 = 0.6667 [ 3] 3 / 4 = 0.7500 [ 4] 4 / 5 = 0.8000 [ 5] 5 / 6 = 0.8333 [ 6] 6 / 7 = 0.8571 [ 7] 7 / 8 = 0.8750 [ 8] 8 / 9 = 0.8889 [ 9] 9 / 10 = 0.9000 [10] 10 / 11 = 0.9091
単純な補間
print("a:{}".format(a))
print("b:{}".format(b))
print("c:{}".format(c))
a:5 b:1.2345 c:moji
複数項目を補間
print("a:{} b:{} c:{}".format(a, b, c))
a:5 b:1.2345 c:moji
リストを補間
lst1 = [a, b, c]
print("lst1:", lst1)
print("a:{} b:{} c:{}".format(*lst1)) # Listの先頭要素から順に補間
lst1: [5, 1.2345, 'moji'] a:5 b:1.2345 c:moji
複数のリストを補間
lst2 = [10, 100, 500]
print("lst2:", lst2)
# Listが連結されて順に補間
print("lst1:[{}, {}, {}] lst2:[{}, {}, {}]".format(*lst1, *lst2))
# Listが連結されてindex指定して補間
print("lst1:[{0}, {1}, {2}] lst2:[{3}, {4}, {5}]".format(*lst1, *lst2))
# Listとindexを指定して補間(lst1:0, lst2:1)
print("lst1:[{0[0]}, {0[1]}, {0[2]}] lst2:[{1[0]}, {1[1]}, {1[2]}]".format(lst1, lst2))
lst2: [10, 100, 500] lst1:[5, 1.2345, moji] lst2:[10, 100, 500] lst1:[5, 1.2345, moji] lst2:[10, 100, 500] lst1:[5, 1.2345, moji] lst2:[10, 100, 500]
辞書を補間
dic1 = {"a":a, "b":b, "c":c}
print("dic1:", dic1)
print("keys:[{}, {}, {}]".format(*dic1)) # 辞書のkeysリストを順に補間
print("vals:[{a}, {b}, {c}]".format(**dic1)) # 辞書のkeyを指定してvalueを補間
dic1: {'a': 5, 'b': 1.2345, 'c': 'moji'} keys:[a, b, c] vals:[5, 1.2345, moji]
複数の辞書を補間
dic2 = {"d":10, "e":100, "f":500}
print("dic2:", dic2)
# 辞書のkeysリストが連結されて順に補間
print("keys1:[{}, {}, {}] keys2:[{}, {}, {}]".format(*dic1, *dic2))
# 辞書のkeysリストを指定して順に補間(dic1.keys:0, dic2.keys:1)
print("keys1:[{0}, {0}, {0}] keys2:[{1}, {1}, {1}]".format(*dic1, *dic2))
# 辞書のkeyを指定してvalueを補間
print("vals1:[{a}, {b}, {c}] vals2:[{d}, {e}, {f}]".format(**dic1, **dic2))
# 辞書とkeyを指定して補間(dic1.keys:0, dic2.keys:1)
print("vals1:[{0[a]}, {0[b]}, {0[c]}] vals2:[{1[d]}, {1[e]}, {1[f]}]".format(dic1, dic2))
dic2: {'d': 10, 'e': 100, 'f': 500} keys1:[a, b, c] keys2:[d, e, f] keys1:[a, a, a] keys2:[b, b, b] vals1:[5, 1.2345, moji] vals2:[10, 100, 500] vals1:[5, 1.2345, moji] vals2:[10, 100, 500]
桁合わせ(左寄せ, 右寄せ, センタリング)
str1 = "1234567890"
str2 = "moji"
print(str1)
print("{:<10}".format(str2)) # 左寄せ
print("{:^10}".format(str2)) # センタリング
print("{:>10}".format(str2)) # 右寄せ
print("{:*<10}".format(str2)) # 左寄せ(*埋め)
print("{:$^10}".format(str2)) # センタリング($埋め)
print("{:?>10}".format(str2)) # 右寄せ(?埋め)
1234567890 moji moji moji moji****** $$$moji$$$ ??????moji
数値の各種表示加工
str1 = "123456789012345"
num = 123456.789
print(str1)
print("{:>015}".format(num)) # 15桁, ゼロ埋め, 右寄せ
print("{:>15,}".format(num)) # 15桁, カンマ区切り, 右寄せ
print("{:<+15,}".format(num)) # 15桁, 符号表示, カンマ区切り, 左寄せ
print("{:>15.4f}".format(num)) # 15桁, 小数点以下4桁数, 右寄せ
print("{:>15.4g}".format(num)) # 15桁, 有効桁:4桁, 右寄せ
print("{:>15.4e}".format(num)) # 15桁, 指数表記:4桁, 右寄せ
print("{:>15.2%}".format(0.651)) # 15桁, パーセント表記:小数2桁, 右寄せ
123456789012345 00000123456.789 123,456.789 +123,456.789 123456.7890 1.235e+05 1.2346e+05 65.10%