python print格式化输出

一、速查手册

1.字符串格式化代码:

格式描述
%%百分号标记
%c字符及其ASCII码
%s字符串
%d有符号整数(十进制)
%u无符号整数(十进制)
%o无符号整数(八进制)
%x无符号整数(十六进制)
%X无符号整数(十六进制大写字符)
%e浮点数字(科学计数法)
%E浮点数字(科学计数法,用E代替e)
%f浮点数字(用小数点符号)
%g浮点数字(根据值的大小采用%e或%f)
%G浮点数字(类似于%g)
%p指针(用十六进制打印值的内存地址)
%n存储输出字符的数量放进参数列表的下一个变量中

2.可以指定所需长度的字符串的对齐方式:
< (默认)左对齐
> 右对齐
^ 中间对齐
= (只用于数字)在小数点后进行补齐

3.格式化指示符
'b' - 二进制。将数字以2为基数进行输出。
'c' - 字符。在打印之前将整数转换成对应的Unicode字符串。
'd' - 十进制整数。将数字以10为基数进行输出。
'o' - 八进制。将数字以8为基数进行输出。
'x' - 十六进制。将数字以16为基数进行输出,9以上的位数用小写字母。
'e' - 幂符号。用科学计数法打印数字。用'e'表示幂。
'g' - 一般格式。将数值以fixed-point格式输出。当数值特别大的时候,用幂形式打印。
'n' - 数字。当值为整数时和'd'相同,值为浮点数时和'g'相同。不同的是它会根据区域设置插入数字分隔符。
'%' - 百分数。将数值乘以100然后以fixed-point('f')格式打印,值后面会有一个百分号。

二、案例

[python]  view plain  copy
  1. # 打印字符串  
  2. print ("His name is %s" % ("Aviad"))  
  3. #His name is Aviad  
  4. # 打印整数  
  5. print ("He is %d years old" % (25))  
  6. #He is 25 years old<pre name="code" class="python">print ("He is %d years old" % (25))  
  7. #He is 25 years old  
  8. # 打印浮点数  
  9. print ("His height is %f m" % (1.83))  
  10. #His height is 1.83 m  
  11. # 打印浮点数(指定保留小数点位数)  
  12. print ("His height is %.2f m" % (1.83))  
  13. #His height is 1.83 m"print "His height is ", format(1.83, '.2f'), "m"  
  14. # 指定占位符宽度  
  15. print ("Name:%10s Age:%8d Height:%8.2f" % ("Aviad",25,1.83))  
  16. #Name:Aviad Age: 25 Height: 1.83  
  17. # 指定占位符宽度(左对齐)  
  18. print ("Name:%-10s Age:%-8d Height:%-8.2f" % ("Aviad",25,1.83))  
  19. #Name:Aviad Age:25 Height:1.83  
  20. # 指定占位符(用0或者空格当占位符)  
  21. print ("Name:%-10s Age:%08d Height:%08.2f" % ("Aviad",25,1.83))  
  22. #Name:Aviad Age:00000025 Height:00001.83  
  23. # 调用format函数,format(数值, '格式')  
  24. print('test:{0:10f}'.format(math.pi))  
  25. #test: 3.141593#若输出位数小于10,则默认右对齐。若输出位数大于宽度,则按实际位数输出format(0.0015,'.2e')  
  26. #1.50e-03# 格式化指示符  
  27. print '6:\t|{0:b}'.format(3)  
  28. print '7:\t|{0:c}'.format(3)  
  29. print '8:\t|{0:d}'.format(3)  
  30. print '9:\t|{0:o}'.format(3)  
  31. print '10:\t|{0:x}'.format(3)  
  32. print '11:\t|{0:e}'.format(3.75)  
  33. print '12:\t|{0:g}'.format(3.75)  
  34. print '13:\t|{0:n}'.format(3.75#浮点数  
  35. print '14:\t|{0:n}'.format(3#整数  
  36. print '15:\t|{0:%}'.format(3.75)  

 
 
 
 

三、总结

1.两种输出风格

python一共有两种格式化输出语法

一种是类似于C语言printf的方式,称为 Formatting Expression

[python]  view plain copy
  1. >>>print '%s %d-%d' % ('hello'71)  
  2. 'hello 7-1'  
  3. >>> print ("He is %d years old" % (25))
  4. 'He is 25 years old'

基本是前文格式控制,%(,,)中分别表示输出内容。

另一种是类似于C#的方式,称为String Formatting Method Calls

[python]  view plain copy
  1. >>>print '{0} {1}:{2}'.format('hello''1''7')  
  2. 'hello 1:7'  
  3. >>>print 'test:{0:10f}'.format(math.pi)
    'test: 3.141593'

基本是前文格式控制,.format(,,)中分别表示输出内容。数字(0, 1, ...)即代表format()里面的元素, 所以可以使用.调用元素的方法;

字符串的参数使用{NUM}进行表示,0, 表示第一个参数,1, 表示第二个参数, 以后顺次递加;

使用:, 指定代表元素需要的操作, 如:.3小数点三位, :8占8个字符空间等;

format()函数的用法:它通过{}和:来代替%。

2.Python里的字符串格式化%与format的区别

a='is %s' % (1)
b='is {0}'.format(1)

字符串格式化常用% 就是C里的printf

format是python 字符串自己的方法, 推荐用format,因为比较灵活

%() 等同于.format(),括号内是输出内容

前者采用C风格,后者采用C#风格

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值