今天修改程式,比較糾結用哪個,搜資料整理一下。
format()用法相對於基本格式%的用法,功能要強大很多。將字串當成模板,通過傳入的引數進行格式化,並且使用大括號{}作為特殊字元代替%
#correct
print("the number is %d"%20)
輸出:the number is 20
#error
print("the number is %d",20)
輸出:the number is %d 20
%f ——保留小數點後面六位有效數字,
%.3f,保留3位小數字
%e ——保留小數點後面六位有效數字,指數形式輸出
%.3e,保留3位小數字,使用科學計數法
%g ——在保證六位有效數字的前提下,使用小數方式,否則使用科學計數法
%.3g,保留3位有效數字,使用小數或科學計數法
print('%.2g' % 1111.1111) # 取2位有效數字,自動轉換為科學計數法
output:1.1e+03
round(number[, ndigits])
引數:number - 這是乙個數字表示式。ndigits - 表示從小數點到最後四捨五入的位數。預設值為0。
返回值。該方法返回x的小數點捨入為n位數後的值。
字串輸出
%s%10s——右對齊,佔位符10位
%-10s——左對齊,佔位符10位
%.2s——擷取2位字串
%10.2s——10位佔位符,擷取兩位字串
print('%s' % 'hello world') # 字串輸出
hello world
print('%20s' % 'hello world') # 右對齊,取20位,不夠則補位
hello world
print('%-20s' % 'hello world') # 左對齊,取20位,不夠則補位
hello world
print('%.2s' % 'hello world') # 取2位
heprint('%10.2s' % 'hello world') # 右對齊,取2位
heprint('%-10.2s' % 'hello world') # 左對齊,取2位
he
字串格式**
常用轉義字元
(1)不帶編號,即「{}」
(2)帶數字編號,可調換順序,即「」、「」
(3)帶關鍵字,即「」、「」
print('{} {}'.format('hello','world')) # 不帶字段
hello world
print(' '.format('hello','world')) # 帶數字編號
hello world
print(' '.format('hello','world')) # 打亂順序
hello world hello
print(' '.format('hello','world'))
world world hello
print(' '.format(tom='hello',a='world')) # 帶關鍵字
world hello world
'b' - 二進位制。將數字以2為基數進行輸出。'c' - 字元。在列印之前將整數轉換成對應的unicode字串。
'd' - 十進位制整數。將數字以10為基數進行輸出。
'o' - 八進位制。將數字以8為基數進行輸出。
'x' - 十六進製制。將數字以16為基數進行輸出,9以上的位數用小寫字母。
'e' - 冪符號。用科學計數法列印數字。用'e'表示冪。
'g' - 一般格式。將數值以fixed-point格式輸出。當數值特別大的時候,用冪形式列印。
'n' - 數字。當值為整數時和'd'相同,值為浮點數時和'g'相同。不同的是它會根據區域設定插入數字分隔符。
'%' - 百分數。將數值乘以100然後以fixed-point('f')格式列印,值後面會有乙個百分號。
print(''.format(3))
11print(''.format(20))
print(''.format(20))
20print(''.format(20))
24print(''.format(20))
14print(''.format(20))
2.000000e+01
print(''.format(20.1))
20.1
print(''.format(20))
20.000000
print(''.format(20))
20print(''.format(20))
2000.000000%
"int: ; hex: ; oct: ; bin: ".format(42)
# 在前面加「#」,則帶進製字首
'int: 42; hex: 0x2a; oct: 0o52; bin: 0b101010'
(1)< (預設)左對齊、> 右對齊、^ 中間對齊、= (只用於數字)在小數點後進行補齊
(2)取位數「」、""等
print('{} and {}'.format('hello','world')) # 預設左對齊
hello and world
print(' and '.format('hello','world')) # 取10位左對齊,取10位右對齊
hello and world
print(' and '.format('hello','world')) # 取10位中間對齊
hello and world
print('{} is '.format(1.123,1.123)) # 取2位小數
1.123 is 1.12
print(' is '.format(1.123)) # 取2位小數,右對齊,取10位
1.123 is 1.12
''.format('left aligned') # 左對齊
'left aligned '
''.format('right aligned') # 右對齊
' right aligned'
''.format('centered')
'**********************centered'
''.format('centered') # 中間對齊
' centered '
''.format('centered') # 使用「*」填充
'***********centered***********'
''.format(11) # 還有「=」只能應用於數字,這種方法可用「>」代替
'000000000000000000000000000011'
'; '.format(3.14, -3.14) # 總是顯示符號
'+3.140000; -3.140000'
'; '.format(3.14, -3.14) # 若是+數,則在前面留空格
' 3.140000; -3.140000'
'; '.format(3.14, -3.14) # -數時顯示-,與'; '一致
'3.140000; -3.140000'
關於python的輸出格式控制和函式format
舉個例子 最簡單的輸出格式控制 print 5f 1.1415 格式 5 小數點後接5位小數 f 間上述所示字元 coding utf 8 可以指定所需長度的字串的對齊方式 預設 左對齊 右對齊 中間對齊 只用於數字 在小數點後進行補齊 print 1 t format sunwen print 1...
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位小數字,使...
Python日誌輸出格式和時間格式
formatter logging.formatter asctime s levelname s message s y b d h m s 上面的 y等是時間格式,所以要想理解上面要表示個什麼,先來看一下python的時間格式。我們的樣例是以年月日 時 分 秒的形式顯示日期的。除此之外,還要理解...