格式匯總:
格式 | 描述 | 格式 | 描述 |
---|---|---|---|
%% | 百分號%標記(多出來的%是轉義作用) | ||
%c | 字符及其ASCII碼 | %s | 字符串 |
%d | 有符號整數(十進制) | %u | 無符號整數(十進制) |
%o | 無符號整數(八進制) | ||
%x | 無符號整數(十六進制) | %X | 無符號整數(十六進制大寫字符) |
%e | 浮點數字(科學計數法) | %E | 浮點數字(科學計數法,用E代替e) |
%f | 浮點數字(用小數點符號) | ||
%g | 浮點數字(根據值的不同自動選擇%e或%f) | %G | 浮點數字(類似于%g,根據值的不同自動選擇%E或%f) |
%p | 指針(用十六進制打印值的內存地址) | %n | 存儲輸出字符的數量放進參數列表的下一個變量中 |
不過由于在python中,所有東西都可以轉換成string類型,因此,如果沒有什么特殊需求完全可以全部使用'%s‘來標記。
比如:'%s %s %s' % (1, 2.3, ['one', 'two', 'three'])
它的輸出為'1 2.3 ['one', 'two', 'three']',就是按照%左邊的標記輸出的。
雖然第一個和第二值不是string類型,一樣沒有問題。
[在這個過程中,當電腦發現第一個值不是%s時,會先調用整型數的函數,把第一個值也就是1轉成string類型,然后再調用str()函數來輸出。]
上面說的只是格式標記的最簡間的形式,來看復雜一點的:
制定輸出長度:
‘%6.2f' % 1.235
在這種形式中,在f的前面出現了一個類似小數的6.2它表示的意思是,總共輸出的長度為6個字符,其中小數2位。
還有更復雜的:
占位符:
‘%06.2f' % 1.235
在6的前面多了一個0,表示如果輸出的位數不足6位就用0補足6位。
這一行的輸出為‘001.24',可以看到小數也占用一位。
類似于這里0這樣的標記還有-、+。其中,-表示左對齊,+表示在正數前面也標上+號,默認是不加的。
實例:
%ns:如果字符串變量s不足n位的話,會先輸出若干個空格后再輸出str1
%-ns:與上述相反,先輸出變量s,不足的然后用空格在后面補齊。
其他:
字典格式化輸出:
‘%(name)s:%(score)06.1f' %{'score':9.5, 'name':'newsim'}
這種形式只用在要輸出的內容為dictionary時。小括號中的(name)和(score)對應于后面的鍵值對中的鍵。
有時候在%6.2f這種形式中,6和2也不能事先指定,會在程序運行過程中再產生,那怎么輸入呢,當然不能用%%d.%df或%d.%d%f。
新聞熱點
疑難解答