# 零基礎學python-7.6 字符串格式化表達式
字符串格式化允許在一個單個的步驟中對一個字符串執行多個特定類型的替換
特別是給用戶提示的時候,格式化非常方便
實現方法:
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-7.1 python中的字符串簡介與常用函數
- 零基礎學python-7.2 字符串常量
- 零基礎學python-7.3 字符串的一般使用
- 零基礎學python-7.4 修改字符串實例總結
- 零基礎學python-7.5 文本解析
- 零基礎學python-7.6 字符串格式化表達式
- 零基礎學python-7.7 字符串格式化方法(1)
- 零基礎學python-7.7 字符串格式化方法(2)
- 輕松python文本專題-單獨處理字符串每個字符的方法匯總
- 輕松python文本專題-字符與字符值轉換
- 輕松python文本專題-判斷對象里面是否是類字符串(推薦使用isinstance(obj,str))
- 輕松python文本專題-字符串對齊
- 輕松python文本專題-去掉字符串前后空格
- 輕松python文本專題-拼接、合并字符串
- 輕松python文本專題-字符串逐字符反轉以及逐單詞反轉
- 輕松python文本專題-maketrans和translate
- 輕松python文本專題-字符串開頭或者結尾匹配