歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> 關於Python格式化字符串

關於Python格式化字符串

日期:2017/3/1 9:16:01   编辑:Linux編程

Python中也有類似於C中的 printf()格式輸出,使用 % 運算符,格式:

格式標記字符串 % 要輸出的值組

右邊的”值組“若有兩個及以上的值則需要用小括號括起來,中間用逗號隔開。

重點看左邊部分。其最簡單的形式為: %code。 ,其中的code可以有多種,而在Python中,所有的輸入都可以轉換為 string 類型,所以沒有特殊要求時,可以使用 ”%s“ 標記。

1 >>>'%s %s %s' % (1,2.3, ['one', 'two', 'three']) 

輸出為:

1 "1 2.3  ['one', 'two', 'three']"
2 >>>

輸出按照左邊的標記輸出。第一個和第二個是數字,同樣可以輸出。該過程中,Python發現第一個值 ‘1’ 不是 string 類型時調用 str() 函數來進行輸出。第二個數值同理輸出。

常用的還有 repr() 函數,該函數可以用 %r 標記。除此之外,還有很多類似的code:

整型數: %d

無符號整型數:%u

八進制: %o

十六進制: %x %X

浮點數: %f

科學計數法: %e %E

根據數值的不同,自動選擇 %e 或 %f 。同 ‘/’ 用來進行轉義一樣,‘%’ 只用來進行標記格式。若要在格式標記中輸出 % 本身,可以用 ‘%%’ 來表示。

1 >>> '%s' %'%1'
2 '%1'
3 >>>

下面介紹幾個復雜的例子:

1 >>> '%1.2f' %1.235
2 '1.24'
3 >>>

f前面的1.2代表:總共輸出長度為1個字符,其中小數為2位。

1 >>> '%06.2f' %1.235
2 '001.24'
3 >>> 
%06.2f 表示:若輸出的位數不足6位,則用0 補齊。其中 小數點 也占用一個字符位。類似的還有 -、+, 
‘-’表示左對齊,‘+’表示在證書前面標記 ‘+’,默認不加。

1 >>> '%(name)s:%(score)03.1f' %{'score':95, 'name':'Tom'}
2 'Tom:95.0'
3 >>> 

該形式只適用於輸出的內容為 dictionary (Python一種格式化數據類型)時,左面小括號中的(name) 和 (score) 對應於後面鍵值中相應內容。

以上的例子表明,‘格式標記字符串’ 中標記的順序與 '要輸出值組'的值是一一對應的。

無需操作系統直接運行 Python 代碼 http://www.linuxidc.com/Linux/2015-05/117357.htm

CentOS上源碼安裝Python3.4 http://www.linuxidc.com/Linux/2015-01/111870.htm

《Python核心編程 第二版》.(Wesley J. Chun ).[高清PDF中文版] http://www.linuxidc.com/Linux/2013-06/85425.htm

《Python開發技術詳解》.( 周偉,宗傑).[高清PDF掃描版+隨書視頻+代碼] http://www.linuxidc.com/Linux/2013-11/92693.htm

Python腳本獲取Linux系統信息 http://www.linuxidc.com/Linux/2013-08/88531.htm

在Ubuntu下用Python搭建桌面算法交易研究環境 http://www.linuxidc.com/Linux/2013-11/92534.htm

Python 語言的發展簡史 http://www.linuxidc.com/Linux/2014-09/107206.htm

Python 的詳細介紹:請點這裡
Python 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved