您好,登錄后才能下訂單哦!
小編給大家分享一下python格式化文本的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
1、首先看使用%格式化文本
常見的占位符:
常見的占位符有: %d 整數(shù) %f 浮點數(shù) %s 字符串 %x 十六進(jìn)制整數(shù)
使用方法
>>> 'Hello, %s' % 'world' 'Hello, world' >>> 'Hi, %s, you have $%d.' % ('Michael', 1000000) 'Hi, Michael, you have $1000000.'
使用的時候不知道寫什么的地方直接使用 %s 進(jìn)行代替,語句的末尾加上 %() 括號里面直接填寫內(nèi)容即可(字符串加上引號,中間用“,”分割),如果只有一個%?,括號可以省略。
高級一點的用法:
格式化整數(shù)指定是否補零:
首先看代碼:
>>> '%d-%d' % (3, 23) '3-23' >>> '%2d-%2d' % (3, 23) ' 3-23' >>> '%3d-%3d' % (3, 23) ' 3- 23' >>> '%4d-%4d' % (3, 23) ' 3- 23' >>> '%01d-%01d' % (3, 23) '3-23' >>> '%02d-%02d' % (3, 23) '03-23' >>> '%03d-%03d' % (3, 23) '003-023' >>> '%04d-%04d' % (3, 23) '0003-0023' >>>
可以看得出來,d前面的數(shù)字用來指定占位符,表示被格式化的數(shù)值占用的位置數(shù)量(字節(jié)還是什么不知道這樣的表述是否正確),指定之后比如%3d,代表這個整數(shù)要占用3個位置,前面如果有0代表占用的地方使用0補齊,沒有就使用空格補齊。指定的空間位置小于實際的數(shù)字大小,以實際占用的位置大小為準(zhǔn)。
指定小數(shù)的位數(shù):
>>> '%.f' % 3.1415926 '3' >>> '%.1f' % 3.1415926 '3.1' >>> '%.2f' % 3.1415926 '3.14' >>> '%.3f' % 3.1415926 '3.142' >>>
可以看出.后面的數(shù)字用來表示保留的小數(shù)點的位數(shù),".1"代表保留小數(shù)點后面一位小數(shù)。
如果不確定應(yīng)該用什么,%s永遠(yuǎn)起作用,它會把任何數(shù)據(jù)類型轉(zhuǎn)換為字符串:
>>> 'Age: %s. Gender: %s' % (25, True) 'Age: 25. Gender: True'
有些時候,字符串里面的%是一個普通字符怎么辦?這個時候就需要轉(zhuǎn)義,用%%來表示一個%:
>>> 'growth rate: %d %%' % 7 'growth rate: 7 %'
嘗試使用其他方法對%進(jìn)行轉(zhuǎn)義,但是好像沒有用,有什么其他方法歡迎評論。
2、使用format 方法進(jìn)行格式化
代碼演示:
age = 25 name = 'Swaroop' print('{0} is {1} years old'.format(name, age)) print('Why is {0} playing with that python?'.format(name))
位置使用{1}按照使用的順序?qū)懞?,后面格式使?.format() 寫好對應(yīng)的參數(shù)即可。
輸出結(jié)果:
Swaroop is 25 years old Why is Swaroop playing with that python?
其實也可以使用第一種方法實現(xiàn):
age = 25 name = 'Swaroop' print('%s is %s years old'%(name, age)) print('Why is %s playing with that python?'%(name))
輸出
Swaroop is 25 years old Why is Swaroop playing with that python?
實現(xiàn)的結(jié)果都是一樣的。
以上是“python格式化文本的方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。