トップ 一覧 ping 検索 ヘルプ RSS ログイン

Python 書式の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!Python 書式
[Python]{{category 書式}}
*http://docs.python.jp/2/library/string.html#string.Formatter
*http://anh.cs.luc.edu/python/hands-on/3.1/handsonHtml/float.html
{{amazon 4797371595}}

!!文字列フォーマット
 フォーマット文字列 % (差し込みオブジェクトのタプル)

,コード,対応型
,%s,文字列(数値なども変換)
,%d,10進整数
,%f,10進浮動小数点数
,%x,16進数
,%X,16進数(大文字)
,%o,8進数
,%%,%を表示

!精度、桁数
 %[フラグ][桁数][.精度]コード
,フラグ,意味
,0,0埋め
,-,値の左寄せ
,+,数値の先頭に符号をつける
 >>> t = 173
 >>> w = 73
 >>> print 'あなたのBMIは、%0.1f です。' % (w / ((t/100.0)*2))
 あなたのBMIは、21.1 です。

!!辞書のキーを指定した埋め込み
 %(辞書のキー)コード

 >>> print '%(donuts)s、%(remon)s' % {'donuts':'ドはドーナツのド','remon':'レはレモンのレ'}
 ドはドーナツのド、レはレモンのレ

!!日付の書式設定
 >>> time.strftime('%Y/%m/%d', time.localtime())
 '2010/02/24'
 >>> datetime.today().strftime('%Y%m%d')
 '20100224'
 >>> datetime.fromtimestamp(os.stat(r'/test.txt').st_ctime).strftime('%Y%m%d')
 '20090824'

*http://docs.python.jp/2/library/datetime.html

,"指定子","意味","備考"
,"%a","ロケールの短縮された曜日名を表示します"," "
,"%A","ロケールの曜日名を表示します"," "
,"%b","ロケールの短縮された月名を表示します"," "
,"%B","ロケールの月名を表示します"," "
,"%c","ロケールの日時を適切な形式で表示します"," "
,"%d","月中の日にちを10進表記した文字列 [01,31] を表示します"," "
,"%f","マイクロ秒を10進表記した文字列 [000000,999999] を表示します (左側から0埋めされます)","(1)"
,"%H","時 (24時間表記) を10進表記した文字列 [00,23] を表示します"," "
,"%I","時 (12時間表記) を10進表記した文字列 [01,12] を表示します"," "
,"%j","年中の日にちを10進表記した文字列 [001,366] を表示します"," "
,"%m","月を10進表記した文字列 [01,12] を表示します"," "
,"%M","分を10進表記した文字列 [00,59] を表示します"," "
,"%p","ロケールの AM もしくは PM を表示します","(2)"
,"%S","秒を10進表記した文字列 [00,61] を表示します","(3)"
,"%U","年中の週番号 (週の始まりは日曜日とする) を10進表記した文字列 [00,53] を表示します新年の最初の日曜日に先立つ日は 0週に属するとします","(4)"
,"%w","曜日を10進表記した文字列 [0(日曜日),6] を表示します"," "
,"%W","年中の週番号 (週の始まりは月曜日とする) を10進表記した文字列 [00,53] を表示します新年の最初の月曜日に先立つ日は 0週に属するとします","(4)"
,"%x","ロケールの日付を適切な形式で表示します"," "
,"%X","ロケールの時間を適切な形式で表示します"," "
,"%y","世紀なしの年(下2桁)を10進表記した文字列 [00,99] を表示します"," "
,"%Y","世紀ありの年を10進表記した文字列を表示します"," "
,"%z","UTCオフセットを +HHMM もしくは -HHMM の形式で表示します (オブジェクトがnaiveであれば空文字列)","(5)"
,"%Z","タイムゾーンの名前を表示します (オブジェクトがnaiveであれば空文字列)"," "
,"%%","文字 '%' を表示します",""

+strptime() メソッドと共に使われた場合、 %f 指定子は 1 桁から 6 桁の数字を受け付け、右側から 0 埋めされます。 %f は C 標準規格の書式セットに拡張されます。
+strptime() メソッドと共に使われた場合、 %p 指定子は出力の時間フィールドのみに影響し、 %I 指定子が使われたかのように振る舞います。
+範囲は 0 から 61 で正しいです; これはうるう秒と、 (極めて稀ですが) 2秒のうるう秒を考慮してのことです。
+strptime() メソッドと共に使われた場合、 %U と %W 指定子は、年と曜日が指定された場合の計算でのみ使われます。
+例えば、 utcoffset() が timedelta(hours=-3, minutes=-30) を返すとしたら、 %z は文字列、 '-0330' で置き換えられます。

!!!Python3
*https://pyformat.info/