python格式化輸出
㈠ python的格式輸出函數裡面{:.2f}什麼意思
d表示整型,f表示浮點型,就是指明數據類型用的。這跟C語言中的printf
函數語法是非常類似的,學過C語言的人就很容易理解這些。
print('test:{0:3}'.format(math.pi))3用於控制輸出寬度。這里由於輸出位數大於寬度,就按實際位數輸出了。
print('test:{0:3f}'.format(math.pi))同樣,3表示輸出寬度。若輸出位數小於此寬度,默認右對齊,左邊補空格。如:>>>
print('test:{0:10f}'.format(math.pi))test:
3.141593若輸出位數大於寬度,則按實際位數輸出。這里之所以顯示3.141593,是因為指定了f浮點數類型,默認顯示6位小數。print('test:{0:.3}'.format(math.pi)).3
指定除小數點外的輸出位數print('test:{0:.3f}'.format(math.pi)).3f
表示浮點數的精度為3(小數位保留3位)
㈡ python字元串格式化輸出方法
在python中也有類似於c中的printf()的格式輸出標記。在python中格式化輸出字元串使用的是版%運算符,通用的形式為 格式標記字元串 % 要輸權出的值組 其中,左邊部分的」格式標記字元串「可以完全和c中的一致。
㈢ python縮進/格式化輸出
foriinrange(1,10):
forjinrange(1,10):
sum=i*j
print'%d*%d=%d'%(i,j,sum)
最後一句縮進與第一個for一樣,所以層次級別相同 python以縮進來分層次,所以當for循環執行完了之後才執行一個print
print格式的區別 %-3d 是輸出的數字後面補空格 被到整個輸出的字數長度為3,如果數字位數超過3就原樣輸出
㈣ python中請問怎麼格式化輸出列表
python用print進行格式化輸出,有以下幾種模式,代碼如下:
1、列印字元串
print("Hisnameis%s"%("Aviad"))
效果:
㈤ Python如何格式化輸出字元串!
python一共有兩種格式化輸出語法,
一種是類似於C語言printf的方式,稱為 Formatting Expression
>>>print '%s%d-%d'%('hello',7,1)
'hello7-1'
另一種是類似於C#的方式,稱為String Formatting Method Calls
>>>print '{0}{1}:{2}'.format('hello','1','7')
'hello1:7'
第一種方式可以指定浮點數的精度,例如
>>> print'%.3f'%1.234567869
'1.235'
運行時動態指定浮點數的精度
但是當代碼在運行中如何動態地通過參數來指定浮點數的精度呢?
python的神奇之處在於它又提供了一種非常方便的語法。只需要在 typecode(這里是f)之前加一個 *,浮點數的精度就用它前面的數字來指定。
>>>foriinrange(5):
... print'%.*f'%(i,1.234234234234234)
...
'1'
'1.2'
'1.23'
'1.234'
'1.2342'
通過輸出結果可以看出,精度都是在運行時動態指定,這樣就省去了格式化字元串的拼湊。
使用String Formatting Method Calls可以更簡潔地完成功能。
>>>foriinrange(5):
... print'{0:.{1}f}'.format(1/3.0,i)
...
'0'
'0.3'
'0.33'
'0.333'
'0.3333'
附錄是一些常用用法——
python print格式化輸出。
1. 列印字元串
print ("His name is %s"%("Aviad"))
2.列印整數
print ("He is %d years old"%(25))
3.列印浮點數
print ("His height is %f m"%(1.83))
4.列印浮點數(指定保留小數點位數)
print ("His height is %.2f m"%(1.83))
5.指定佔位符寬度
print ("Name:%10s Age:%8d Height:%8.2f"%("Aviad",25,1.83))
6.指定佔位符寬度(左對齊)
print ("Name:%-10s Age:%-8d Height:%-8.2f"%("Aviad",25,1.83))
7.指定佔位符(只能用0當佔位符?)
print ("Name:%-10s Age:%08d Height:%08.2f"%("Aviad",25,1.83))
8.科學計數法
format(0.0015,'.2e')
㈥ Python格式化輸出的理解怎麼樣
7.1. 格式化輸出
我們有兩種大相徑庭地輸出值方法:表達式語句 和 print() 函數(第三種訪求是使用文件對象的 write() 方法,標准文件輸出可以參考 sys.stdout,詳細內容參見庫參考手冊)。
通常,你想要對輸出做更多的格式控制,而不是簡單的列印使用空格分隔的值。有兩種方法可以格式化你的輸出:第一種方法是由你自己處理整個字元串,通過使用字元串切割和連接操作可以創建任何你想要的輸出形式。string 類型包含一些將字元串填充到指定列寬度的有用操作,隨後就會討論這些。第二種方法是使用 str.format() 方法。
標准模塊 string 包括了一些操作,將字元串填充入給定列時,這些操作很有用。隨後我們會討論這部分內容。第二種方法是使用 Template 方法。
當然,還有一個問題,如何將值轉化為字元串?很幸運,Python 有辦法將任意值轉為字元串:將它傳入 repr() 或 str() 函數。
函數 str() 用於將值轉化為適於人閱讀的形式,而 repr() 轉化為供解釋器讀取的形式(如果沒有等價的語法,則會發生 SyntaxError 異常)某對象沒有適於人閱讀的解釋形式的話,str() 會返回與 repr() 等同的值。很多類型,諸如數值或鏈表、字典這樣的結構,針對各函數都有著統一的解讀方式。字元串和浮點數,有著獨特的解讀方式。
㈦ python字元串格式化什麼意思
在python中也有類似於c中的printf()的格式輸出標記。在python中格式化輸出字元串使用的是%運算符,通用的形式為
格式標記字元串 % 要輸出的值組
其中,左邊部分的」格式標記字元串「可以完全和c中的一致。右邊的'值組'如果有兩個及以上的值則需要用小括弧括起來,中間用短號隔開。重點來看左邊的部分。左邊部分的最簡單形式為:
%cdoe
其中的code有多種,不過由於在python中,所有東西都可以轉換成string類型,因此,如果沒有什麼特殊需求完全可以全部使用』%s『來標記。比如:
'%s %s %s' % (1, 2.3, ['one', 'two', 'three'])
它的輸出為'1 2.3 ['one', 'two', 'three']',就是按照%左邊的標記輸出的。雖然第一個和第二值不是string類型,一樣沒有問題。在這個過程中,當電腦發現第一個值不是%s時,會先調用整型數的函數,把第一個值也就是1轉成string類型,然後再調用str()函數來輸出。前面說過還有一個repr()函數,如果要用這個函數,可以用%r來標記。除了%s外,還有很多類似的code:
整型數:%d
無符號整型數:%u
八進制:%o
十六進制:%x %X
浮點數:%f
科學記數法: %e %E
根據數值的不同自動選擇%e或%f: %g
根據數值的不同自動選擇%E或%f: %G
就跟前面說用\進行轉義一樣,這里用%作為格式標記的標識,也有一個%本身應該如何輸出的問題。如果要在」格式標記字元串「中輸出%本身,可以用%%來表示。
上面說的只是格式標記的最簡間的形式,來看復雜一點的:
『%6.2f』 % 1.235
在這種形式中,在f的前面出現了一個類似小數的6.2它表示的意思是,總共輸出的長度為6個字元,其中小數2位。還有更復雜的:
『%06.2f』 % 1.235
在6的前面多了一個0,表示如果輸出的位數不足6位就用0補足6位。這一行的輸出為『001.24』,可以看到小數也佔用一位。類似於這里0這樣的標記還有-、+。其中,-表示左對齊,+表示在正數前面也標上+號,默認是不加的。最後來看最復雜的形式:
『%(name)s:%(score)06.1f』 %{'score':9.5, 'name':'newsim'}
這種形式只用在要輸出的內容為dictionary(一種python的數據類型)時,小括弧中的(name)和(score)對應於後面的鍵值對中的鍵。前面的例子可以看到,」格式標記字元串「中標記的順序和"要輸出的值組"中的值是一一對應的,有順序,一對一,二對二。而在這種形式中,則不是,每個格式標記對應哪個值由小括弧中的鍵來指定。這行代碼的輸出為:'newsim:0009.5'。
有時候在%6.2f這種形式中,6和2也不能事先指定,會在程序運行過程中再產生,那怎麼輸入呢,當然不能用%%d.%df或%d.%d%f。可以用%*.*f的形式,當然在後面的」要輸出的值組「中包含那兩個*的值。比如:'%*.*f' % (6, 2, 2.345)就相當於'%6.2f' % 2.345。
這是這本書到此為止看起來最復雜的內容。不過如果記不住,或不想那麼耐煩,完全可以全部用%s代替,或者用多個"+"來構造類似的輸出字元串。這里的%真有點除法的味道,怪不得設計者會選擇用%這個除號。
象C 中的sprintf函數一樣,可以用「%」來格式化字元串
Table 3.1. 字元串格式化代碼
格式 描述
%% 百分號標記
%c 字元及其ASCII碼
%s 字元串
%d 有符號整數(十進制)
%u 無符號整數(十進制)
%o 無符號整數(八進制)
%x 無符號整數(十六進制)
%X 無符號整數(十六進制大寫字元)
%e 浮點數字(科學計數法)
%E 浮點數字(科學計數法,用E代替e)
%f 浮點數字(用小數點符號)
%g 浮點數字(根據值的大小採用%e或%f)
%G 浮點數字(類似於%g)
%p 指針(用十六進制列印值的內存地址)
%n 存儲輸出字元的數量放進參數列表的下一個變數中
㈧ python格式化輸出,為什麼要用
python一共有兩種格式化輸出語法,
一種是類似於C語言printf的方式,稱為 Formatting Expression
>>> '%s %d-%d' % ('hello', 7, 1)
'hello 7-1'
另一種是類似於C#的方式,稱為String Formatting Method Calls
>>> '{0} {1}:{2}'.format('hello', '1', '7')
'hello 1:7'
第一種方式可以指定浮點數的精度,例如
>>> '%.3f' % 1.234567869
'1.235'
㈨ 請問python3怎麼用format格式化輸出字典里的數據
data={『name』:'John','age':18,'height':180}
print('Theboynamed{0[name]:s}is{0[age]:d}-year-oldand{0[height]:g}tall.'.format(data))
如果用format,語法就像上面這樣用,{0}表示第一個參數
其實用%號格式化字元串和format兩種語法在python3中都是可以使用的