python中的格式化字符


python中的格式化字符
在python中我們會遇到一個問題,問題是如何輸出格式化的字符串。我們經常會輸出類似'親愛的xxx你好!你xx月的話費是xx,余額是xx'之類的字符串,而xxx的內容都是根據變量變化的,所以,需要一種簡便的格式化字符串的方式。
在python中,我們用%實現格式化字符串。

語法
我們舉個例子來說明格式化字符串的語法

\>>> 'Hello, %s' % 'world'
'Hello, world'
\>>> 'Hi, %s, you have $%d.' % ('Michael', 1000000)
'Hi, Michael, you have $1000000.'

在字符串內部,%s表示用字符串替換,%d表示用整數替換,有幾個%占位符,后面就跟幾個變量或者值,順序要對應好。如果只有一個%,括號可以省略。

字符串格式化符號
%c 格式化字符及其ASCII碼
%s 格式化字符串
%d 格式化整數
%u 格式化無符號整型
%o 格式化無符號八進制數
%x 格式化無符號十六進制數
%X 格式化無符號十六進制數(大寫)
%f 格式化浮點數字,可指定小數點后的精度
%e 用科學計數法格式化浮點數
%E 作用同%e,用科學計數法格式化浮點數
%g %f和%e的簡寫
%G %f 和 %E 的簡寫
%p 用十六進制數格式化變量的地址

格式化操作符輔助指令
符號 功能
* 定義寬度或者小數點精度
- 用做左對齊
+ 在正數前面顯示加號( + )
<sp> 在正數前面顯示空格
\# 在八進制數前面顯示零('0'),在十六進制前面顯示'0x'或者'0X'(取決於用的是'x'還是'X')
0 顯示的數字前面填充`0`而不是默認的空格
% '%%'輸出一個單一的'%'
(var) 映射變量(字典參數)
m.n. m是顯示的最小總寬度,n是小數點后的位數(如果可用的話)

指定是否補0和整數與小數的位數的幾種情況
%0xd表示將整數用0補足到x位
整數的位數比x小時,用0補足
eg:

>>> "%03d" %33
'033'

整數的位數比x大時,直接輸出
eg:

>>> "%03d" %12345
'12345'

%xd表示將整數用空格補足到x位
如果整數的位數比x小時,用空格補足
eg:

\>>> "%6d" %123
' 123'

如果整數的位數比x大時,直接輸出
eg:
\>>> "%3d" %12345
'12345'

%.xf表示將小數中小數點后面的位數固定到x位
如果小數的位數比x大,則保留x位小數
eg:
\>>> "%.3f" % 3.1415926
'3.142'

如果小數的位數比x小,則用0補足
eg:
\>>> "%.4f" % 3.1
'3.1000'

如果我們不太確定用什么,那么用%s是最保險的,它會把任何數據類型轉換為字符串。

原文:https://blog.csdn.net/weixin_35955795/article/details/52564672


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM