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中使用scapy模拟数据包实现arp攻击、dns放大攻击例子
Oct 23 Python
Python的“二维”字典 (two-dimension dictionary)定义与实现方法
Apr 27 Python
python3.4用循环往mysql5.7中写数据并输出的实现方法
Jun 20 Python
Python实现的朴素贝叶斯分类器示例
Jan 06 Python
Python内置模块logging用法实例分析
Feb 12 Python
pycharm执行python时,填写参数的方法
Oct 29 Python
python绘制漏斗图步骤详解
Mar 04 Python
使用 Python 在京东上抢口罩的思路详解
Feb 27 Python
Pytest框架之fixture的详细使用教程
Apr 07 Python
tensorflow转换ckpt为savermodel模型的实现
May 25 Python
Python Matplotlib简易教程(小白教程)
Jul 28 Python
Python 数据可视化之Bokeh详解
Nov 02 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
在普通HTTP上安全地传输密码
2007/07/21 PHP
php smarty截取中文字符乱码问题?gb2312/utf-8
2011/11/07 PHP
PHP面向对象学习笔记之一 基础概念
2012/10/06 PHP
PHP学习笔记 IIS7下安装配置php环境
2012/10/29 PHP
php倒计时出现-0情况的解决方法
2016/07/28 PHP
php微信高级接口调用方法(自定义菜单接口、客服接口、二维码)
2016/11/28 PHP
详解PHP中的 input属性(隐藏 只读 限制)
2017/08/14 PHP
thinkPHP框架实现生成条形码的方法示例
2018/06/06 PHP
PHP中引用类型和值类型功能与用法示例
2019/02/26 PHP
键盘控制事件应用教程大全
2006/11/24 Javascript
jquery选择器(常用选择器说明)
2010/09/28 Javascript
什么是cookie?js手动创建和存储cookie
2014/05/27 Javascript
Jquery Post处理后不进入回调的原因及解决方法
2014/07/15 Javascript
使用jQuery jqPlot插件绘制柱状图
2014/12/18 Javascript
生成二维码方法汇总
2014/12/26 Javascript
用js制作淘宝放大镜效果
2020/10/28 Javascript
vuex学习之Actions的用法详解
2017/08/29 Javascript
详解wow.js中各种特效对应的类名
2017/09/13 Javascript
深入掌握 react的 setState的工作机制
2017/09/27 Javascript
nodejs多版本管理总结
2018/04/03 NodeJs
JavaScript对象字面量和构造函数原理与用法详解
2020/04/18 Javascript
python按照多个字符对字符串进行分割的方法
2015/03/17 Python
python实现在每个独立进程中运行一个函数的方法
2015/04/23 Python
Python安装使用命令行交互模块pexpect的基础教程
2016/05/12 Python
selenium+python 去除启动的黑色cmd窗口方法
2018/05/22 Python
Python使用try except处理程序异常的三种常用方法分析
2018/09/05 Python
python 函数的缺省参数使用注意事项分析
2019/09/17 Python
python实现音乐播放器 python实现花框音乐盒子
2020/02/25 Python
pandas dataframe 中的explode函数用法详解
2020/05/18 Python
python的dict判断key是否存在的方法
2020/12/09 Python
教育学专业毕业生的自我鉴定
2013/11/26 职场文书
办公室岗位职责
2014/02/12 职场文书
幼儿园中秋节活动反思
2014/02/16 职场文书
大学生个人学年总结
2015/02/15 职场文书
2015最新民情日记范文
2015/06/26 职场文书
基督教追悼会答谢词
2015/09/29 职场文书