目次
文字列の書式設定
一般的なフォーマット文字
フォーマット文字 |
例証する |
%s |
string (str()で表示) |
%r |
string (repr()で表示) |
%c |
一文字 |
%b |
2 進整数 |
%d |
10 進整数 |
%私 |
10 進整数 |
%o |
8 進整数 |
%バツ |
16 進整数 |
%e |
指数 (基数は e と表記) |
%E |
指数 (基数は E と表記) |
%f、%F、%F |
浮動小数点数 |
%g |
指数 (e) または float (表示の長さに応じて) |
%G |
指数 (E) または float (表示の長さに応じて) |
%% |
キャラクター"%""%" |
例:
>>> x = 1235
>>> so="%o" % x
>>> so
"2323"
>>> sh = "%x" % x
>>> sh
"4d3"
>>> se = "%e" % x
>>> se
"1.235000e+03"
>>> chr(ord("3")+1)
"4"
>>> "%s"%65
"65"
>>> "%s"%65333
"65333"
>>> "%d"%"555" #试图将字符串转换为整数进行输出,抛出异常
TypeError: %d format: a number is required, not str
>>> int('555') #可以使用int()函数将合法的数字字符串转换为整数
555
>>> '%s'%[1, 2, 3]
'[1, 2, 3]'
>>> str((1,2,3)) #可以使用str()函数将任意类型数据转换为字符串
'(1, 2, 3)'
>>> str([1,2,3])
'[1, 2, 3]'
format() メソッド
より柔軟で、書式設定に位置を使用できるだけでなく、書式設定に位置に依存しないパラメーター名の使用をサポートし、シーケンスのアンパック形式文字列をサポートします
【 例1】
print("The number {0:,} in hex is: {0:#x}, the number {1} in oct is {1:#o}".format(5555,55))
出力:
16 進数の 5,555 は 0x15b3、10 進数の 55 は 0o67 です。
解析:
{0:} または {0} はフォーマット (a0,a1,a2) の a0 を表し、{0:#フォーマット文字} は a0 がフォーマットされていることを意味します
【例2】
print("私の名前は {name}、年齢は {age}、QQ は {qq}".format(name = "Dong Fuguo",age = 37,qq = "306467355"))
出力:
私の名前は董福国、年齢は 37 歳、QQ は 306467355 です。