1
我注意到str.format似乎沒有用漢字記錄下來。問題與.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下試過了
它似乎有可能與此相關:http://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms。 – BrenBarn