字符串格式化format方法

經過位置參數傳參html

print('{}, {}'.format('KeithTt', 18))
# KeithTt, 18

位置參數能夠經過索引調用python

print('{1}, {0}'.format('KeithTt', 18))
# 18, KeithTt

經過關鍵字參數傳參code

print('{name}, {age}'.format(name='KeithTt', age=18))
# KeithTt, 18
print('{age}, {name}'.format(name='KeithTt', age=18))
# 18, KeithTt

^, <, > 分別是居中、左對齊、右對齊,後面帶寬度
: 號後面帶填充的字符,只能是一個字符,不指定則默認是用空格填充
+ 表示老是顯示正負符號,在正數前顯示 +,負數前顯示 -
b、d、o、x 分別是二進制、十進制、八進制、十六進制orm


保留兩位小數,其中.2表示精度,f 表示float類型htm

print('{:.2f}'.format(3.1415926))
# 3.14
>>> print('{:.5f}'.format(3.1415926))
# 3.14159

不帶類型時比較特殊,使用科學計數法,若是整數位個數+1大於精度,將使用符號表示對象

>>> print('{:.2}'.format(3.1415926))
# 3.1
>>> print('{:.2}'.format(13.1415926))
# 1.3e+01
>>> print('{:.3}'.format(13.1415926))
# 13.1

不帶小數,即精度爲0索引

print('{:.0f}'.format(3.1415926))
# 3

加號 + 表示老是輸出正負符號ip

print('{:+.2f}'.format(3.1415926))
# +3.14
print('{:+.2f}'.format(-3.1415926))
# -3.14

指定寬度和對齊方式,默認是右對齊>,>符號可省ci

print('{:>10.2f}'.format(3.1415926))
#       3.14
print('{:<10.2f}'.format(3.1415926))
# 3.14
print('{:^10.2f}'.format(3.1415926))
#    3.14

指定填充字符,默認是空格,只能是一個字符字符串

print('{:0>10.2f}'.format(3.1415926))
# 0000003.14
print('{:*>10.2f}'.format(3.1415926))
# ******3.14
print('{:*<10.2f}'.format(3.1415926))
# 3.14******

用等號 = 讓正負符號單獨在最前面

print('{:=+10.2f}'.format(3.1415926))
# +     3.14
print('{:=+10.2f}'.format(-3.1415926))
# -     3.14

加上填充字符,正負符號始終在最前面

print('{:*=+10.2f}'.format(3.1415926))
# +*****3.14
print('{:0=+10.2f}'.format(3.1415926))
# +000003.14

用逗號分隔數字

print('{:,}'.format(1000000))
# 1,000,000

將浮點數轉換成百分比格式

print('{:.0%}'.format(0.25))
# 25%

使用大括號 {} 轉義大括號

print ('{}對應的位置是{{0}}'.format('KeithTt'))
# KeithTt對應的位置是{0}

另外,除了format()以外,字符串對象還有一些其它更直觀的格式化方法

  • str.ljust(): 左對齊
  • str.rjust(): 右對齊
  • str.center(): 居中

示例: 格式化打印下面的數據,要求各部分對齊

d = {
    'lodDisk': 100.0,
    'SmallCull': 0.04,
    'DistCull': 500.0,
    'trilinear': 40,
    'farclip': 477
}

# 計算出全部key的最長寬度
w = max(map(len, d.keys()))
print(w)
# 9

for k,v in d.items():
    print(k.ljust(w), ':', v)
lodDisk   : 100.0
SmallCull : 0.04
DistCull  : 500.0
trilinear : 40
farclip   : 477

參考:
https://docs.python.org/3/library/functions.html#format
https://docs.python.org/3/library/string.html#format-specification-mini-language
http://docspy3zh.readthedocs.io/en/latest/tutorial/inputoutput.html
http://www.runoob.com/python/att-string-format.html

相關文章
相關標籤/搜索