str.formatは、中国語の文字で文書化されていることをしていないように見えることに気付きました。
検討:
# -*- coding: utf-8 -*-
from __future__ import print_function
tests={'German': [u'Straße',u'auslösen',u'zerstören'],
'French': [u'français',u'américaine',u'épais'],
'Chinese': [u'中國的',u'英語',u'美國人']}
for k in tests.keys():
print(k)
for v in tests[k]:
print(u'"{:^15}"'.format(v))
私の理解では、"{:^15}"
フォーマット文字列は固定幅でなければなりません。ただし、出力に注意してください。
Chinese
" 中國的 "
" 英語 "
" 美國人 "
French
" français "
" américaine "
" épais "
German
" Straße "
" auslösen "
" zerstören "
漢字のフィールド幅が明らかに変化しています。また、中国語の文字列が 15 文字フィールドの中央に配置されていません。
なぜこれが起こっているのですか?Py 2.7 と Py 3.3 の両方で試しました