Python字符串格式化%s%d%f详解


Posted in Python onFebruary 02, 2018

关于讨论输出格式化的问题,小编不是一时兴起,之前学习python的时候就经常遇到输出时“%d”,一直没有仔细学习,今天又看到了,下面分享一个简单实例,python输出99乘法表:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
for i in range(1, 10):
  print 
  for j in range(1, i+1):
    print "%d*%d=%d" % (i, j, i*j),

结果:

1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
>>>

下面我们就来研究下字符串输出格式化的具体内容。

%s 字符串

string="hello"  
  
#%s打印时结果是hello  
print "string=%s" % string   # output: string=hello  
  
#%2s意思是字符串长度为2,当原字符串的长度超过2时,按原长度打印,所以%2s的打印结果还是hello  
print "string=%2s" % string   # output: string=hello  
  
#%7s意思是字符串长度为7,当原字符串的长度小于7时,在原字符串左侧补空格,  
#所以%7s的打印结果是 hello  
print "string=%7s" % string   # output: string= hello  
  
#%-7s意思是字符串长度为7,当原字符串的长度小于7时,在原字符串右侧补空格,  
#所以%-7s的打印结果是 hello  
print "string=%-7s!" % string   # output: string=hello !  
  
#%.2s意思是截取字符串的前2个字符,所以%.2s的打印结果是he  
print "string=%.2s" % string  # output: string=he  
  
#%.7s意思是截取字符串的前7个字符,当原字符串长度小于7时,即是字符串本身,  
#所以%.7s的打印结果是hello  
print "string=%.7s" % string  # output: string=hello  
  
#%a.bs这种格式是上面两种格式的综合,首先根据小数点后面的数b截取字符串,  
#当截取的字符串长度小于a时,还需要在其左侧补空格  
print "string=%7.2s" % string  # output: string=   he  
print "string=%2.7s" % string  # output: string=hello  
print "string=%10.7s" % string # output: string=   hello  
  
#还可以用%*.*s来表示精度,两个*的值分别在后面小括号的前两位数值指定  
print "string=%*.*s" % (7,2,string)   # output: string=   he

%d 整型

num=14  
  
#%d打印时结果是14  
print "num=%d" % num      # output: num=14  
  
#%1d意思是打印结果为1位整数,当整数的位数超过1位时,按整数原值打印,所以%1d的打印结果还是14  
print "num=%1d" % num      # output: num=14  
  
#%3d意思是打印结果为3位整数,当整数的位数不够3位时,在整数左侧补空格,所以%3d的打印结果是 14  
print "num=%3d" % num      # output: num= 14  
  
#%-3d意思是打印结果为3位整数,当整数的位数不够3位时,在整数右侧补空格,所以%3d的打印结果是14_  
print "num=%-3d" % num     # output: num=14_  
  
#%05d意思是打印结果为5位整数,当整数的位数不够5位时,在整数左侧补0,所以%05d的打印结果是00014  
print "num=%05d" % num     # output: num=00014  
  
#%.3d小数点后面的3意思是打印结果为3位整数,  
#当整数的位数不够3位时,在整数左侧补0,所以%.3d的打印结果是014  
print "num=%.3d" % num     # output: num=014  
  
#%.0003d小数点后面的0003和3一样,都表示3,意思是打印结果为3位整数,  
#当整数的位数不够3位时,在整数左侧补0,所以%.3d的打印结果还是014  
print "num=%.0003d" % num    # output: num=014  
  
#%5.3d是两种补齐方式的综合,当整数的位数不够3时,先在左侧补0,还是不够5位时,再在左侧补空格,  
#规则就是补0优先,最终的长度选数值较大的那个,所以%5.3d的打印结果还是 014  
print "num=%5.3d" % num     # output: num= 014  
  
#%05.3d是两种补齐方式的综合,当整数的位数不够3时,先在左侧补0,还是不够5位时,  
#由于是05,再在左侧补0,最终的长度选数值较大的那个,所以%05.3d的打印结果还是00014  
print "num=%05.3d" % num    # output: num=00014  
  
#还可以用%*.*d来表示精度,两个*的值分别在后面小括号的前两位数值指定  
#如下,不过这种方式04就失去补0的功能,只能补空格,只有小数点后面的3才能补0  
print "num=%*.*d" % (04,3,num) # output: num= 014

%f 浮点型

import math  
  
#%a.bf,a表示浮点数的打印长度,b表示浮点数小数点后面的精度  
  
#只是%f时表示原值,默认是小数点后5位数  
print "PI=%f" % math.pi       # output: PI=3.141593  
  
#只是%9f时,表示打印长度9位数,小数点也占一位,不够左侧补空格  
print "PI=%9f" % math.pi      # output: PI=_3.141593  
  
#只有.没有后面的数字时,表示去掉小数输出整数,03表示不够3位数左侧补0  
print "PI=%03.f" % math.pi     # output: PI=003  
  
#%6.3f表示小数点后面精确到3位,总长度6位数,包括小数点,不够左侧补空格  
print "PI=%6.3f" % math.pi     # output: PI=_3.142  
  
#%-6.3f表示小数点后面精确到3位,总长度6位数,包括小数点,不够右侧补空格  
print "PI=%-6.3f" % math.pi     # output: PI=3.142_  
  
#还可以用%*.*f来表示精度,两个*的值分别在后面小括号的前两位数值指定  
#如下,不过这种方式06就失去补0的功能,只能补空格  
print "PI=%*.*f" % (06,3,math.pi)  # output: PI=_3.142

总结

以上就是本文关于Python字符串格式化%s%d%f详解的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
python logging类库使用例子
Nov 22 Python
python读取与写入csv格式文件的示例代码
Dec 16 Python
Python采集代理ip并判断是否可用和定时更新的方法
May 07 Python
对python:循环定义多个变量的实例详解
Jan 20 Python
Python类中的魔法方法之 __slots__原理解析
Aug 26 Python
python机器学习实现决策树
Nov 11 Python
Python调用钉钉自定义机器人的实现
Jan 03 Python
python读写文件write和flush的实现方式
Feb 21 Python
Python实现爬取并分析电商评论
Jun 19 Python
Python图像阈值化处理及算法比对实例解析
Jun 19 Python
详解利用python识别图片中的条码(pyzbar)及条码图片矫正和增强
Nov 17 Python
解决python存数据库速度太慢的问题
Apr 23 Python
教你用一行Python代码实现并行任务(附代码)
Feb 02 #Python
Python实现Pig Latin小游戏实例代码
Feb 02 #Python
python在线编译器的简单原理及简单实现代码
Feb 02 #Python
使用Python进行AES加密和解密的示例代码
Feb 02 #Python
为什么选择python编程语言入门黑客攻防 给你几个理由!
Feb 02 #Python
Python无损音乐搜索引擎实现代码
Feb 02 #Python
Python面向对象class类属性及子类用法分析
Feb 02 #Python
You might like
php使用Session和文件统计在线人数
2015/07/04 PHP
PHP递归实现汉诺塔问题的方法示例
2017/11/25 PHP
redis+php实现微博(一)注册与登录功能详解
2019/09/23 PHP
php写app用的框架整理
2019/09/29 PHP
浅析PHP中的 inet_pton 网络函数
2019/12/16 PHP
prototype 的说明 js类
2006/09/07 Javascript
jQuery 白痴级入门教程
2009/11/11 Javascript
基于jquery的滑动样例代码
2010/11/20 Javascript
基于javascript的COOkie的操作实现只能点一次
2014/12/26 Javascript
JavaScript实现梯形乘法表的方法
2015/04/25 Javascript
javascript中的Function.prototye.bind
2015/06/25 Javascript
JavaScript常用本地对象小结
2016/03/28 Javascript
jQuery学习笔记之回调函数
2016/08/15 Javascript
Angular2表单自定义验证器的实现
2016/10/19 Javascript
ES6中javascript实现函数绑定及类的事件绑定功能详解
2017/11/08 Javascript
微信小程序表单验证功能完整实例
2017/12/01 Javascript
jQuery实现上下滚动公告栏详细代码
2018/11/21 jQuery
js回调函数原理与用法案例分析
2020/03/04 Javascript
用python结合jieba和wordcloud实现词云效果
2017/09/05 Python
对python:循环定义多个变量的实例详解
2019/01/20 Python
python里 super类的工作原理详解
2019/06/19 Python
python绘制评估优化算法性能的测试函数
2019/06/25 Python
python中的selenium安装的步骤(浏览器自动化测试框架)
2020/03/17 Python
解决Python发送Http请求时,中文乱码的问题
2020/04/30 Python
通过css3动画和opacity透明度实现呼吸灯效果
2019/08/09 HTML / CSS
Osklen官方在线商店:巴西服装品牌
2019/04/25 全球购物
英国奢侈品概念店:Base Blu
2019/05/16 全球购物
Linux内核产生并发的原因
2012/07/13 面试题
珍珠奶茶店创业计划书
2014/01/11 职场文书
《我的伯父鲁迅先生》教学反思
2014/02/12 职场文书
电子银行营销方案
2014/02/22 职场文书
中班上学期幼儿评语
2014/04/30 职场文书
人民调解员先进事迹材料
2014/05/08 职场文书
MYSQL中文乱码问题的解决方案
2022/06/14 MySQL
Redis实现主从复制方式(Master&Slave)
2022/06/21 Redis
Java服务调用RestTemplate与HttpClient的使用详解
2022/06/21 Java/Android