Python 字串-格式化-format()格式化操作符 : %
阿新 • • 發佈:2019-01-26
字串-格式化
1.format()--方法接受位置引數和關鍵字引數,二者均傳遞到一個叫做replacement欄位。而replacement欄位在字串內由大括號 { } 表示。
位置引數:
name = '{0}80後,{1},{2}'.format('今晚','主持人','王自健')
print(name)
#今晚80後,主持人,王自健
關鍵字引數:name = '{a}80後,{b},{c}'.format(a = '今晚',b = '主持人',c = '王自健')
print(name)
#今晚80後,主持人,王自健
位置引數和關鍵字引數混搭:*位置引數一定要放在關鍵字前面。name = '{0}80後,{b},{c}'.format('今晚',b = '主持人',c = '王自健') print(name) #今晚80後,主持人,王自健
如果要把大括號打印出來,跟字串轉義字元有點像,只需要用多一層大括號包起來即可(要列印轉義符( \),只需用轉義符轉移自身(\\)). 引數“不列印”也不會報錯。
name = '{{0}}80後,{{b}},{c}'.format('今晚',b = '主持人',c = '王自健')
print(name)
#{0}80後,{b},王自健
位置引數 {1} 跟平常有些不同,後邊多了個冒號(:)。在替換域中,冒號表示格式化符號的開始,“ .3”的意思是四捨五入到保留兩位小數點,而 f 的伊蘇是浮點數,所以按照格式化符號的要求列印除了3.14
name = '{0}:{1:.3f}'.format("圓周率",3.14159) print(name) #圓周率:3.142
2. 格式化操作符 : %
當 % 的左右均為數字的時候,那麼它表示求餘數的操作;但當它出現在字元中的時候,他表示的是格式化操作符。
符 號 | 描述 |
---|---|
%c | 格式化字元及其ASCII碼 |
%s | 格式化字串 |
%d | 格式化整數 |
%u | 格式化無符號整型 |
%o | 格式化無符號八進位制數 |
%x | 格式化無符號十六進位制數 |
%X | 格式化無符號十六進位制數(大寫) |
%f | 格式化浮點數字,可指定小數點後的精度 |
%e | 用科學計數法格式化浮點數 |
%E | 作用同%e,用科學計數法格式化浮點數 |
%g | %f和%e的簡寫 根據值得大小決定使用%f 或者%e |
%G | %f 和 %E 的簡寫 根據值得大小決定使用%f 或者%E |
%p | 用十六進位制數格式化變數的地址 |
% | '%%'輸出一個單一的'%' |
格式化操作符輔助指令:
符號 | 功能 |
---|---|
* | 定義寬度或者小數點精度 |
- | 用做左對齊 |
+ | 在正數前面顯示加號( + ) |
<sp> | 在正數前面顯示空格 |
# | 在八進位制數前面顯示零('0'),在十六進位制前面顯示'0x'或者'0X'(取決於用的是'x'還是'X') |
0 | 顯示的數字前面填充'0'而不是預設的空格 |
% | '%%'輸出一個單一的'%' |
(var) | 對映變數(字典引數) |
m.n. | m 是顯示的最小總寬度,n 是小數點後的位數(如果可用的話) |
print('%s,%d,%s'%("88a",35,"你好"))
#88a,35,你好
print('%10.1f'%27.265)
# 27.3
print('%-10.1f'%27.265)
#27.3 #
print('%010.1f'%27.265)
#00000027.3
Python的轉義字元以含義
\n 換行符
\t 橫向製表符(tab)
\v 縱向製表符
\r 回車符
\f 換頁符
\0 表示一個空格
\\ 反斜槓
\o 八進位制數代表的字元
\x 十六進位制數代表的字元