1. 程式人生 > >零基礎學python-7.6 字符串格式化表達式

零基礎學python-7.6 字符串格式化表達式

his 一個 中間 rac integer color ack 文件夾 get

字符串格式化同意在一個單個的步驟中對一個字符串運行多個特定類型的替換

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

實現方法:

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 十進制整數
i 整數
u 無號整數
o 八進制整數
x 十六進制整數
X x。但打印大寫
e 浮點指數
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對於浮點數的打印是有所差別的

>>> 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‘
>>> 

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


就講到這裏,謝謝大家

------------------------------------------------------------------

點擊跳轉零基礎學python-文件夾


零基礎學python-7.6 字符串格式化表達式