「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/floa…」) |
|||
(同じ利用者による、間の2版が非表示) | |||
1行目: | 1行目: | ||
− | ==Python 書式== | + | ==[[Python 書式]]== |
− | [Python] | + | [[Python]] | [[Category:書式]] |
*http://docs.python.jp/2/library/string.html#string.Formatter | *http://docs.python.jp/2/library/string.html#string.Formatter | ||
*http://anh.cs.luc.edu/python/hands-on/3.1/handsonHtml/float.html | *http://anh.cs.luc.edu/python/hands-on/3.1/handsonHtml/float.html | ||
51行目: | 51行目: | ||
|- | |- | ||
|} | |} | ||
− | + | >>> t = 173 | |
− | + | >>> w = 73 | |
− | + | >>> print 'あなたのBMIは、%0.1f です。' % (w / ((t/100.0)*2)) | |
あなたのBMIは、21.1 です。 | あなたのBMIは、21.1 です。 | ||
59行目: | 59行目: | ||
%(辞書のキー)コード | %(辞書のキー)コード | ||
− | + | >>> print '%(donuts)s、%(remon)s' % {'donuts':'ドはドーナツのド','remon':'レはレモンのレ'} | |
ドはドーナツのド、レはレモンのレ | ドはドーナツのド、レはレモンのレ | ||
===日付の書式設定=== | ===日付の書式設定=== | ||
− | + | >>> time.strftime('%Y/%m/%d', time.localtime()) | |
'2010/02/24' | '2010/02/24' | ||
− | + | >>> datetime.today().strftime('%Y%m%d') | |
'20100224' | '20100224' | ||
− | + | >>> datetime.fromtimestamp(os.stat(r'/test.txt').st_ctime).strftime('%Y%m%d') | |
'20090824' | '20090824' | ||
180行目: | 180行目: | ||
#例えば、 utcoffset() が timedelta(hours=-3, minutes=-30) を返すとしたら、 %z は文字列、 '-0330' で置き換えられます。 | #例えば、 utcoffset() が timedelta(hours=-3, minutes=-30) を返すとしたら、 %z は文字列、 '-0330' で置き換えられます。 | ||
− | ==Python3== | + | ==[[Python3]]== |
*https://pyformat.info/ | *https://pyformat.info/ |
2020年2月16日 (日) 04:31時点における最新版
Python 書式
Python |
- http://docs.python.jp/2/library/string.html#string.Formatter
- http://anh.cs.luc.edu/python/hands-on/3.1/handsonHtml/float.html
文字列フォーマット
フォーマット文字列 % (差し込みオブジェクトのタプル)
コード | 対応型 |
---|---|
%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'
指定子 | 意味 | 備考 |
---|---|---|
%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
© 2006 矢木浩人