python之格式化輸出

2021-08-21 23:38:01 字數 3203 閱讀 5130

1、整數的輸出

%o —— oct 八進位制

%d —— dec 十進位制

%x —— hex 十六進製制

2、浮點數輸出

(1)格式化輸出

%f ——保留小數點後面六位有效數字

%.3f,保留3位小數字

%e ——保留小數點後面六位有效數字,指數形式輸出

%.3e,保留3位小數字,使用科學計數法

%g ——在保證六位有效數字的前提下,使用小數方式,否則使用科學計數法

%.3g,保留3位有效數字,使用小數或科學計數法

3、字串輸出

%s%10s——右對齊,佔位符10位

%-10s——左對齊,佔位符10位

%.2s——擷取2位字串

%10.2s——10位佔位符,擷取兩位字串

4. %s和%r區別

%r用rper()方法處理物件

%s用str()方法處理物件

有些情況下,兩者處理的結果是一樣的,比如說處理int型物件。

例一:

print "i am %d years old." % 22

print "i am %s years old." % 22

print "i am %r years old." % 22

返回結果:

i am 22 years old.

i am 22 years old.

i am 22 years old.

另外一些情況兩者就不同了

例二:

text = "i am %d years old." % 22

print "i said: %s." % text

print "i said: %r." % text

返回結果:

i said: i am 22 years old..

i said: 'i am 22 years old.'. // %r 給字串加了單引號

再看一種情況

例三:

import datetime

d = datetime.date.today()

print "%s" % d

print "%r" % d

返回結果:

2014-04-14

datetime.date(2014, 4, 14)

可見,%r列印時能夠重現它所代表的物件(rper() unambiguously recreate the object it represents)

二、format用法

相對基本格式化輸出採用『%』的方法,format()功能更強大,該函式把字串當成乙個模板,通過傳入的引數進行格式化,並且使用大括號『{}』作為特殊字元代替『%』

使用方法由兩種:b.format(a)和format(a,b)。

1、基本用法

(1)不帶編號,即「{}」

(2)帶數字編號,可調換順序,即「」、「」

(3)帶關鍵字,即「」、「」

基本用法:

1 #通過位置

2 print ','.format('chuhao',20)

3 4 print '{},{}'.format('chuhao',20)

5 6 print ',,'.format('chuhao',20)

7 8 #通過關鍵字引數

9 print ','.format(age=18,name='chuhao')

10 11 class person:

12 def __init__(self,name,age):

13 self.name = name

14 self.age = age

15 16 def __str__(self):

17 return 'this guy is ,is old'.format(self=self)

18 19 print str(person('chuhao',18))

20 21 #通過對映 list

22 a_list = ['chuhao',20,'china']

23 print 'my name is ,from ,age is '.format(a_list)

24 #my name is chuhao,from china,age is 20

25 26 #通過對映 dict

27 b_dict =

28 print 'my name is , age is ,from '.format(**b_dict)

29 #my name is chuhao, age is 20,from shanxi

30 31 #填充與對齊

32 print ''.format('189')

33 # 189

34 print ''.format('189')

35 #00000189

36 print ''.format('189')

37 #aaaaa189

38 39 #精度與型別f

40 #保留兩位小數

41 print ''.format(321.33345)

42 #321.33

43 44 #用來做金額的千位分隔符

45 print ''.format(1234567890)

46 #1,234,567,890

47 48 #其他型別 主要就是進製了,b、d、o、x分別是二進位制、十進位制、八進位制、十六進製制。

49 50 print ''.format(18) #二進位制 10010

51 print ''.format(18) #十進位制 18

52 print ''.format(18) #八進位制 22

53 print ''.format(18) #十六進製制12

Python格式化輸出之pprint

簡介 pprint模組提供了列印出python資料結構類和方法。模組方法 建立乙個prettyprinter物件 indent 縮排,width 一行最大寬度,depth 列印的深度,這個主要是針對一些可遞迴的物件,如果超出指定depth,其餘的用 代替。eg a 1,2,3,4,5 a的深度就是2...

Python基礎之格式化輸出

python中用 代 式符,或者叫佔位符 表示格式化操作,將其轉化成相應的資料型別 age 10print 我今年 d歲 age 我今年10歲在程式中,看到了 這樣的操作符,這就是python格式化輸出 age 19name xiaoming print 我的名字是 s,年齡是 d歲 name,ag...

Python 之輸出format格式化

python使用format進行格式化輸出 1 使用槽 的概念進行格式化輸出。print 這是格式化輸出的例項,年月日 format nian,yue,ri 上面有3個槽,編號依次為0,1,2分別對應format中的nian,yue.ri.三個變數。2 擴充套件,對應以上三個變數,我們可以內定改變其...