6. python 字符串格式化表達式

2022-07-04 15:10 更新

6. Python 字符串格式化表達式

字符串格式化允許在一個單個的步驟中對一個字符串執(zhí)行多個特定類型的替換

特別是給用戶提示的時候,格式化非常方便

實現(xiàn)方法:

1. 格式化表達式,類似于 c 語言的 printf

在表達式中,我們使用 % 二進制操作符

  >>> print('this is %d %s bird' % (1,'dead'))  
  this is 1 dead bird  

舉上面的例子說明(注意我們下面所說的 %,都是以字符串和元組中間的那個為準)

在 % 的左邊放置一個字符串,字符串里面放置了一個或者多個使用 % 開頭的嵌入對象

在 % 的右邊放入一個(或多個,嵌入元組當中)對象,這些對象將插入到左邊的轉換目標位置上

  >>> name='ray'  
  >>> 'my name is %s' % name  
  'my name is ray'  
  >>> '%d %s %d you' % (1,'spam',4)  
  '1 spam 4 you'  
  >>> '%s---%s---%s' % (42,3.14,[1,2,3])  
  '42---3.14---[1, 2, 3]'  
  >>>   

當插入多個對象時,需要把他們放到一個元組里面

2. 高級格式化表達式

字符串格式化代碼列表

代碼 意義
s 字符串(或者任何對象)
r s, 但是用 repr,而不是 str
c 字符
d 十進制整數(shù)
i 整數(shù)
u 無號整數(shù)
o 八進制整數(shù)
x 十六進制整數(shù)
X x,但打印大寫
e 浮點指數(shù)
E e,但打印大寫
f 浮點十進制
F 浮點十進制
g 浮點e或f
G 浮點e或f
% 常量%

%[(name)][flags][width][.pression]typecode

例子


  >>> x=1234  
  >>> res='integers:...%d...%-6d...%06d' % (x,x,x)  
  >>> res  
  'integers:...1234...1234  ...001234'  
  >>>   

%e, %f, %g 對于浮點數(shù)的打印是有所區(qū)別的

  >>> x=1.23456789  
  >>> x  
  1.23456789  
  >>> '%e|%f|%g' % (x,x,x)  
  '1.234568e+00|1.234568|1.23457'  
  >>>   

3. 基于字典的格式化表達式

  >>> 'my name is %(name)s,my age is %(age)d' % {'name':'ray','age':30}  
  'my name is ray,my age is 30'  
  >>>   

說白了就是給每個替換位置命名,這樣代碼看起來更加明了

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號