使用print可以输出的类型有:字符串、整数、浮点数及精度控制。
1.格式化输出整数
python print也支持参数格式化,与C言的printf似:
strHello = "the length of (%s) is %d" %('Hello World',len('Hello World')) print strHello #输出果:the length of (Hello World) is 11
2.格式化输出16制整数
nHex = 0x20 #%x --- hex 十六进制 #%d --- dec 十进制 #%d --- oct 八进制 print "nHex = %x,nDec = %d,nOct = %o" %(nHex,nHex,nHex) #输出结果:nHex = 20,nDec = 32,nOct = 40 #使用整数的各个制打印同一个数
如果需要输出二进制的话,可以使用python函数 bin()
>>> bin(789) '0b1100010101' >>>
3.格式化输出浮点数(float)
import math #default print "PI = %f" % math.pi #width = 10,precise = 3,align = left print "PI = %10.3f" % math.pi #width = 10,precise = 3,align = rigth print "PI = %-10.3f" % math.pi #前面填充字符 print "PI = %06d" % int(math.pi) #输出结果 #PI = 3.141593 #PI = 3.142 #PI = 3.142 #PI = 000003 #浮点数的格式化,精度、度和
4.格式化输出字符串(string)
#precise = 3 print "%.3s " % ("jcodeer") #precise = 4 print "%.*s" % (4,"jcodeer") #width = 10,precise = 3 print "%10.3s" % ("jcodeer") #输出结果: #jco #jcod # jco #同于字符串也存在精度、度和。
5.输出列表(list)
l = [1,2,3,4,'jcodeer'] print l #输出结果:[1, 2, 3, 4, 'jcodeer'] #于list直接打印即可 '''6.出字典(dictionary)''' d = {1:'A',2:'B',3:'C',4:'D'} print d #输出结果:{1: 'A', 2: 'B', 3: 'C', 4: 'D'} #同python也是支持dictionary出的
6.python print自动换行
print 会自动在行末加上回车,如果不需回车,只需在print语句的结尾添加一个逗号”,“,就可以改变它的行为 —- 加了逗号后,会由列输出变成行输出。
for i in range(0,5): print i,
或直接使用下面的函数进行输出:
sys.stdout.write("输出的字串")
7. 万能的 %r
%r是一个万能的格式付,它会将后面给的参数原样打印出来,带有类型信息。
formatter = "%r %r %r %r" print formatter % (1, 2, 3, 4) print formatter % ("one", "two", "three", "four") print formatter % (True, False, False, True) print formatter % (formatter, formatter, formatter, formatter) print formatter % ( "I had this thing.", "That you could type up right.", "But it didn't sing.", "So I said goodnight." )
输出结果:
1 2 3 4 'one' 'two' 'three' 'four' True False False True '%r %r %r %r' '%r %r %r %r' '%r %r %r %r' '%r %r %r %r' 'I had this thing.' 'That you could type up right.' "But it didn't sing." 'So I said goodnight.'
示例:
#coding:utf-8 #字符串格式化示例 #使用给定的宽度打印格式化后的价格列表 #------------------------------------------------------------- # 1,使用星号(*)作为字符宽度或者精度(或者两者都使用*),此时数值会从元祖参数中读出: # 如: # >>> '%.*s' % (5,'Guido van Rossum') # 'Guido' # >>> '%.*s' % (9,'Guido van Rossum') # 'Guido van' #2,减号(-)用来左对齐数值 # >>> from math import pi # >>> '%-10.2f' % pi # '3.14 ' # >>> '%10.2f' % pi # ' 3.14' # >>> '%+10.2f' % pi # ' +3.14' #3,空白('')意味着在正数前加上空格,在需要对齐正负数时会很有用: # >>> print ('% 5d' % 10) + '\n' + ('% 5d' % -10) # 10 # -10 #4,加号(+)表示不管是正数还是负数都标示出符号 # >>> print ('%+5d' % 10) + '\n' + ('%+5d' % -10) # +10 # -10 #----------------------------------------------------------- width = input('请输入表格的宽度:') price_width = 10 item_width = width - price_width header_format = '%-*s%*s' format = '%-*s%*.2f' print '='*width #打印表头 print header_format %(item_width,'项目',price_width,'价格') print '-' * width print format % (item_width,'苹果',price_width,6.0) print format % (item_width,'桔子',price_width,3.2) print format % (item_width,'香蕉',price_width,2.5) print format % (item_width,'葡萄',price_width,14.8) print format % (item_width,'红提',price_width,15) print format % (item_width,'西瓜',price_width,1.5) print '='*width
输出结果:
请输入表格的宽度:30 ============================== 项目 价格 ------------------------------ 苹果 6.00 桔子 3.20 香蕉 2.50 葡萄 14.80 红提 15.00 西瓜 1.50 ==============================
是不是上面的输出相对美观?