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中的yield浅析
Jun 16 Python
举例讲解Python中metaclass元类的创建与使用
Jun 30 Python
python中requests使用代理proxies方法介绍
Oct 25 Python
python操作excel的方法
Aug 16 Python
Python把对应格式的csv文件转换成字典类型存储脚本的方法
Feb 12 Python
PyQt5 QTableView设置某一列不可编辑的方法
Jun 25 Python
python并发编程多进程之守护进程原理解析
Aug 20 Python
kafka监控获取指定topic的消息总量示例
Dec 23 Python
Python绘制动态水球图过程详解
Jun 03 Python
Python 使用生成器代替线程的方法
Aug 04 Python
python获取时间戳的实现示例(10位和13位)
Sep 23 Python
python通配符之glob模块的使用详解
Apr 24 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 header示例代码(推荐)
2010/09/08 PHP
php判断正常访问和外部访问的示例
2014/02/10 PHP
PHP使用正则表达式获取微博中的话题和对象名
2015/07/18 PHP
完美解决phpexcel导出到xls文件出现乱码的问题
2016/10/29 PHP
PHP实现websocket通信的方法示例
2018/08/28 PHP
PHP模版引擎原理、定义与用法实例
2019/03/29 PHP
php快速导入大量数据的实例方法
2019/09/23 PHP
Javascript客户端脚本的设计和应用
2006/08/21 Javascript
js控制当再次点击按钮时的间隔时间
2014/06/03 Javascript
$.each遍历对象、数组的属性值并进行处理
2014/07/18 Javascript
jquery实现转盘抽奖功能
2017/01/06 Javascript
详谈js中window.location.search的用法和作用
2017/02/13 Javascript
Node.js获取前端ajax提交的request信息
2017/02/20 Javascript
浅谈Vue.js应用的四种AJAX请求数据模式
2017/08/30 Javascript
详解封装基础的angular4的request请求方法
2018/06/05 Javascript
使用pkg打包Node.js应用的方法步骤
2018/10/19 Javascript
浅谈Vue的响应式原理
2019/05/30 Javascript
这应该是最详细的响应式系统讲解了
2019/07/22 Javascript
解决vue项目运行提示Warnings while compiling.警告的问题
2020/09/18 Javascript
[01:28:56]2014 DOTA2华西杯精英邀请赛 5 24 CIS VS DK
2014/05/26 DOTA
[01:29:42]Liquid vs VP Supermajor决赛 BO 第一场 6.10
2018/07/05 DOTA
python3.5+tesseract+adb实现西瓜视频或头脑王者辅助答题
2018/01/17 Python
Window环境下Scrapy开发环境搭建
2018/11/18 Python
详解python调用cmd命令三种方法
2019/07/08 Python
Django视图、传参和forms验证操作
2020/07/15 Python
利用Python实现Json序列化库的方法步骤
2020/09/09 Python
Python实例教程之检索输出月份日历表
2020/12/16 Python
英国体育器材进口商店:UK Sport Imports
2017/03/14 全球购物
俄罗斯电子产品在线商店:UltraTrade
2020/01/30 全球购物
波兰最大的电商平台:Allegro.pl
2021/02/06 全球购物
销售自荐信
2013/10/22 职场文书
工程师岗位职责
2013/11/08 职场文书
年会主持词结束语
2014/03/27 职场文书
培训心得体会怎么写
2016/01/25 职场文书
电脑无法安装Windows 11怎么办?无法安装Win11的解决方法
2021/11/21 数码科技
Tomcat执行startup.bat出现闪退的原因及解决办法
2022/04/20 Servers