python中的字符串格式化
阿新 • • 發佈:2018-02-04
borde repr form 方法 color pos 十六 設置 輸出
Python中常見的字符串格式化方式包括兩種:字符串插入(str%),format函數(str.format())
1、字符串插入
字符串插入是設置字符串格式的簡單方法,與C語言、Fortran語言差別不大。示例如下:
>>> a, b, c = ‘cat‘, 6, 3.14 >>> s = ‘There\‘s %d %ss older than %.2f years.‘ % (b, a, c) >>> s "There‘s 6 cats older than 3.14 years."
一些轉換說明符見下表:
d | 整數 |
o | 八進制數 |
x | 小寫十六進制數 |
X | 大寫十六進制數 |
e | 小寫科學記數浮點數 |
E | 大寫科學計數浮點數 |
f | 浮點數 |
s | 字符串 |
% | %字符 |
2、format函數
字符串函數format()是靈活構造字符串的方法。
- 命名替換
>>> s = ‘My {pet} has {prob}.‘.format(pet = ‘dog‘, prob = ‘fleas‘) >>> s ‘My dog has fleas.‘
- 位置替換
>>> s = ‘My {0} has {1}.‘.format(‘dog‘, ‘fleas‘) >>> s ‘My dog has fleas‘
一些靈活的用法:
#使用轉換說明符 >>> print(‘1/81 = {x:.3f}‘.format(x = 1/81)) 1/81 = 0.012 #可以通過變量設定格式參數,字符串插入無法做到這點 >>> print(‘1/81 = {x:.{d}f}‘.format(x = 1/81, d = 5)) 1/81 = 0.01235 #x!r,x!s的意思分別指:repr(x),str(x) >>> ‘({0!r}, {0!s})‘.format(‘test‘) "(‘test‘, test)" #特別的,千位金額輸出數字,遇到才知道有這種用法 >>> ‘{:,}‘.format(987654) ‘987,654‘
總結
對於創建格式簡單的字符串,字符串插入方式足夠直觀、簡便;format函數可更靈活、強大地構造字符串,適合龐大、復雜的工作,如創建網頁等。
python中的字符串格式化