python一共有兩種格式化輸出語法,
一種是類似於c語言printf的方式,稱為 formatting expression
>>> '%s %d-%d' % ('hello', 7, 1)
'hello 7-1'
另一種是類似於c#的方式,稱為string formatting method calls
>>> ' :'.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 runs '.format(sys=sys, map=)
'my pc runs linux'
>>> 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], somelist[1:-1]
>>> 'first=, last=, middle='.format(*parts)
"first=s, last=m, middle=['p', 'a']"
>>>
python格式化輸出
原文 在python中也有類似於c中的printf 的格式輸出標記。在python中格式化輸出字串使用的是 運算子,通用的形式為 格式標記字串 要輸出的值組 其中,左邊部分的 格式標記字串 可以完全和c中的一致。右邊的 值組 如果有兩個及以上的值則需要用小括號括起來,中間用短號隔開。重點來看左邊的部...
python 格式化輸出
usr bin python coding utf 8 可以指定所需長度的字串的對齊方式 預設 左對齊 右對齊 中間對齊 只用於數字 在小數點後進行補齊 print 1 t format wangyu print 2 t format 1.1415926 print 3 t format 1.141...
Python格式化輸出
python時間輸出格式化 python格式化日期時間的函式為datetime.datetime.strftime 由字串轉為日期型的函式為 datetime.datetime.strptime 兩個函式都涉及日期時間的格式化字串,列舉如下 舉乙個例子 ebay中時間格式為 sep 21 09 16...