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模块打印log日志详解
Apr 05 Python
Python实现的RSS阅读器实例
Jul 25 Python
Python多线程、异步+多进程爬虫实现代码
Feb 17 Python
python3使用SMTP发送HTML格式邮件
Jun 19 Python
对numpy.append()里的axis的用法详解
Jun 28 Python
对Python3之进程池与回调函数的实例详解
Jan 22 Python
python将字典列表导出为Excel文件的方法
Sep 02 Python
Django框架序列化与反序列化操作详解
Nov 01 Python
Python pygame绘制文字制作滚动文字过程解析
Dec 12 Python
Django视图、传参和forms验证操作
Jul 15 Python
python爬虫用request库处理cookie的实例讲解
Feb 20 Python
Python中的np.argmin()和np.argmax()函数用法
Jun 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
关于时间计算的结总
2006/12/06 PHP
PHP include任意文件或URL介绍
2014/04/29 PHP
php判断文件夹是否存在不存在则创建
2015/04/09 PHP
PHP数组函数array_multisort()用法实例分析
2016/04/02 PHP
Laravel框架Eloquent ORM修改数据操作示例
2019/12/03 PHP
PHP $O00OO0=urldecode & eval 解密,记一次商业源码的去后门
2020/09/13 PHP
DOM Scripting中的图片切换[兼容Firefox]
2010/06/12 Javascript
JavaScript和ActionScript的交互实现代码
2010/08/01 Javascript
Jquery实现弹出层分享微博插件具备动画效果
2013/04/03 Javascript
javascript委托(Delegate)blur和focus用法实例分析
2015/05/26 Javascript
javascript倒计时效果实现
2015/11/12 Javascript
jQuery抛物线运动实现方法(附完整demo源码下载)
2016/01/08 Javascript
微信小程序之仿微信漂流瓶实例
2016/12/09 Javascript
JavaScript利用闭包实现模块化
2017/01/13 Javascript
Javascript面试经典套路reduce函数查重
2017/03/23 Javascript
详解原生js实现offset方法
2017/06/15 Javascript
微信浏览器禁止页面下拉查看网址实例详解
2017/06/28 Javascript
vue 中动态绑定class 和 style的方法代码详解
2018/06/01 Javascript
jQuery序列化form表单数据为JSON对象的实现方法
2018/09/20 jQuery
[52:05]EG vs OG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
编写Python小程序来统计测试脚本的关键字
2016/03/12 Python
Python编程中对super函数的正确理解和用法解析
2016/07/02 Python
在Linux命令行终端中使用python的简单方法(推荐)
2017/01/23 Python
在Django同1个页面中的多表单处理详解
2017/01/25 Python
一张图带我们入门Python基础教程
2017/02/05 Python
Pycharm如何打断点的方法步骤
2019/06/13 Python
Django 开发调试工具 Django-debug-toolbar使用详解
2019/07/23 Python
linux 下python多线程递归复制文件夹及文件夹中的文件
2020/01/02 Python
Python批量获取并保存手机号归属地和运营商的示例
2020/10/09 Python
存储过程的优点有哪些
2012/09/27 面试题
管理岗位竞聘演讲稿
2014/08/18 职场文书
2015年音乐教研组工作总结
2015/07/22 职场文书
详解Redis基本命令与使用场景
2021/06/01 Redis
MySQL 聚合函数排序
2021/07/16 MySQL
nginx服务器的下载安装与使用详解
2021/08/02 Servers
你真的会用Mysql的explain吗
2022/03/31 MySQL