1. 程式人生 > >Python 字串-格式化-format()格式化操作符 : %

Python 字串-格式化-format()格式化操作符 : %

字串-格式化

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 十六進位制數代表的字元