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程序中使用Cookie的教程
Apr 30 Python
Python实现快速排序和插入排序算法及自定义排序的示例
Feb 16 Python
使用Python的Twisted框架构建非阻塞下载程序的实例教程
May 25 Python
python使用Tesseract库识别验证
Mar 21 Python
基于Django与ajax之间的json传输方法
May 29 Python
Python使用Selenium爬取淘宝异步加载的数据方法
Dec 17 Python
python实现网页自动签到功能
Jan 21 Python
python3.4爬虫demo
Jan 22 Python
Python通过TensorFlow卷积神经网络实现猫狗识别
Mar 14 Python
使用python动态生成波形曲线的实现
Dec 04 Python
Python输出指定字符串的方法
Feb 06 Python
解决jupyter notebook显示不全出现框框或者乱码问题
Apr 09 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中http与https跨域共享session的解决方法
2014/12/20 PHP
解决laravel 5.1报错:No supported encrypter found的办法
2017/06/07 PHP
取得父标签
2006/11/14 Javascript
JS event使用方法详解
2008/04/28 Javascript
Jquery对数组的操作技巧整理
2014/03/25 Javascript
jquery实现效果比较好的table选中行颜色
2014/03/25 Javascript
jQuery大于号(>)选择器的作用解释
2015/01/13 Javascript
jQuery图片左右滚动代码 有左右按钮实例
2016/06/20 Javascript
Bootstrap表单控件学习使用
2017/03/07 Javascript
基于vue2实现左滑删除功能
2017/11/28 Javascript
IE浏览器下JS脚本提交表单后,不能自动提示问题解决方法
2019/06/04 Javascript
vue项目中全局引入1个.scss文件的问题解决
2019/08/01 Javascript
解决vue-cli项目开发运行时内存暴涨卡死电脑问题
2019/10/29 Javascript
微信小程序修改checkbox的样式代码实例
2020/01/21 Javascript
JS实现表单中点击小眼睛显示隐藏密码框中的密码
2020/04/13 Javascript
python基础入门详解(文件输入/输出 内建类型 字典操作使用方法)
2013/12/08 Python
python获取豆瓣电影简介代码分享
2014/01/16 Python
python生成词云的实现方法(推荐)
2017/06/13 Python
使用pyecharts在jupyter notebook上绘图
2020/04/23 Python
python中使用iterrows()对dataframe进行遍历的实例
2018/06/09 Python
pandas 转换成行列表进行读取与Nan处理的方法
2018/10/30 Python
啥是佩奇?使用Python自动绘画小猪佩奇的代码实例
2019/02/20 Python
python,Django实现的淘宝客登录功能示例
2019/06/12 Python
python实现五子棋人机对战游戏
2020/03/25 Python
Python Matplotlib 基于networkx画关系网络图
2019/07/10 Python
使用python 将图片复制到系统剪贴中
2019/12/13 Python
python装饰器的特性原理详解
2019/12/25 Python
Python图像处理之膨胀与腐蚀的操作
2021/02/07 Python
电脑教师的教学自我评价
2013/11/26 职场文书
清明节演讲稿
2014/05/27 职场文书
美术兴趣小组活动总结
2014/07/07 职场文书
基层党员学习党的群众路线教育实践活动心得体会
2014/11/04 职场文书
2015高中教师个人工作总结
2015/07/21 职场文书
PHP判断是否是json字符串
2021/04/01 PHP
CSS3实现三角形不断放大效果
2021/04/13 HTML / CSS
MySQL中CURRENT_TIMESTAMP的使用方式
2021/11/27 MySQL