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位小數字,使...