!!!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/