python中的格式化輸出用法總結

2022-09-29 13:45:09 字數 1877 閱讀 1619

python一共有兩種格式化輸出語法。

一種是類似於c語言printf的方式,稱為 formatting expression

>>> '%s %d-%d' % ('hello', 7, 1)

'hello 7-1'

另一種是類似於c#的方式,稱為string formatting method calls

>>> ' :'www.cppcns.com.format('hello', '1', '7')

'hello 1:7'

第一種方式可以指定浮點數的精度,例如

>>> '%.3f' % 1.234567869

'1.235'

執行時動態指定浮點數的精度

但是當**在執行中如何動態地通過引數程式設計客棧來指定浮點數的精度呢?

python的神奇之處在於它又提供了一種非常方便的語法。只需要在 typecode(這裡是f)之前加乙個 *,浮點數的精度就用它前面的數字來指定。

>>> for i in range(5):

... '%.*f' % (i, 1.234234234234234)

...'1'

'1.2'

'1.23'

'1.234'

'1.2342'

通過輸出結果可以看出,精度都是在執行時動態指定,這樣就省去了格式化字串的拼湊。

使用 string formatting method calls 可以更簡潔地完成功能。

>>> for i in range(5):

... 'f}'.format(1 / 3.0, i)

...'0'

'0.3'

'0.33'

'0.333'

'0.3333'

實現乙個簡單的模板工具

django提供的模板語言,可以讓我們通過乙個dict(字典)把python變數繫結的html檔案中,其實利用python的格式化輸出我們也可以僅僅做乙個文字替換功能。

>>> replay = """

... hello world cup...

... germany vs brazil

... %(germany)d : %(brazil)d"""

>>> print(replay % )

hello world cup...

germany vs brazil

7 : 1

還可以這樣玩

>>> germany = 7

>>> brazil = 1

>>> '%(germany)d : %(brazil)d' % vars()

'7 : 1'

在格式化字串中訪問物件屬性和字典鍵值

>>> 'my runs '.format(sys, )

'my pc runs linux'

>>> 'my run程式設計客棧s '.format(sys=sys, map=)

'my pc runs linux'

在格式化字串中通過下標(正整數)訪問list元素

>>> somelist = list('spam')

>>> 'first=, third='.format(somelist)

'first=s, third=a'

>>> 'first=, last='.format(somelist[1], somelist[-1])

'first=p, last=m'

>>> parts = somelist[0], somelist[-1], soepwxvtsjvrmelist[1:-1]

>>> 'first=, last=, middle='.format(*parts)

"first=s, last=m, middle=['p', 'a']"

>>>

python中幾種格式化輸出 的用法

官方文件 1.若要使用格式化字串文字,請在開始引號或三重引號之前以f或f開頭的字串。例子 year 2016 event referendum print f results of the 結果 results of the 2016 referendumyes votes 42 572 654 n...

Python格式化輸出 format的用法

常見的格式化輸出表 形式 型別 s 字串 d int型 f浮點型 x16進製制 例1 name jack print i am s.name i am jack.例2 保留的小數字數,後面還可以接想要新增的東西 print his height is 2f cm啊 1.78 his height i...

python 格式化輸出 用法和format用法

o oct 八進位制 d dec 十進位制 x hex 十六進製制 1 print o 20 2 24 3 print d 20 4 20 5 print x 20 6 14 f 保留小數點後面六位有效數字 3f,保留3位小數字 e 保留小數點後面六位有效數字,指數形式輸出 3e,保留3位小數字,使...