python 格式輸出( 用法和format)

2021-09-17 23:25:56 字數 3945 閱讀 3496

今天修改程式,比較糾結用哪個,搜資料整理一下。

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的時間格式。我們的樣例是以年月日 時 分 秒的形式顯示日期的。除此之外,還要理解...