python 字符串格式化代码


Posted in Python onMarch 17, 2013

格式汇总:

格式 描述 格式 描述
%% 百分号%标记(多出来的%是转义作用)    
%c 字符及其ASCII码 %s 字符串
%d 有符号整数(十进制) %u 无符号整数(十进制)
%o 无符号整数(八进制)    
%x 无符号整数(十六进制) %X 无符号整数(十六进制大写字符)
%e 浮点数字(科学计数法) %E 浮点数字(科学计数法,用E代替e)
%f 浮点数字(用小数点符号)    
%g 浮点数字(根据值的不同自动选择%e或%f) %G 浮点数字(类似于%g,根据值的不同自动选择%E或%f)
%p 指针(用十六进制打印值的内存地址) %n 存储输出字符的数量放进参数列表的下一个变量中

不过由于在python中,所有东西都可以转换成string类型,因此,如果没有什么特殊需求完全可以全部使用'%s‘来标记。
比如:'%s %s %s' % (1, 2.3, ['one', 'two', 'three'])
它的输出为'1 2.3 ['one', 'two', 'three']',就是按照%左边的标记输出的。
虽然第一个和第二值不是string类型,一样没有问题。
[在这个过程中,当电脑发现第一个值不是%s时,会先调用整型数的函数,把第一个值也就是1转成string类型,然后再调用str()函数来输出。]

上面说的只是格式标记的最简间的形式,来看复杂一点的:
制定输出长度:
‘%6.2f' % 1.235
在这种形式中,在f的前面出现了一个类似小数的6.2它表示的意思是,总共输出的长度为6个字符,其中小数2位。

还有更复杂的:
占位符:
‘%06.2f' % 1.235
在6的前面多了一个0,表示如果输出的位数不足6位就用0补足6位。
这一行的输出为‘001.24',可以看到小数也占用一位。

类似于这里0这样的标记还有-、+。其中,-表示左对齐,+表示在正数前面也标上+号,默认是不加的。

实例:
%ns:如果字符串变量s不足n位的话,会先输出若干个空格后再输出str1
%-ns:与上述相反,先输出变量s,不足的然后用空格在后面补齐。

其他:
字典格式化输出:
‘%(name)s:%(score)06.1f' %{'score':9.5, 'name':'newsim'}
这种形式只用在要输出的内容为dictionary时。小括号中的(name)和(score)对应于后面的键值对中的键。

有时候在%6.2f这种形式中,6和2也不能事先指定,会在程序运行过程中再产生,那怎么输入呢,当然不能用%%d.%df或%d.%d%f。
可以用%*.*f的形式,当然在后面的”要输出的值组“中包含那两个*的值。
比如:'%*.*f' % (6, 2, 2.345)就相当于'%6.2f' % 2.345。
不过如果记不住,或不想那么耐烦,完全可以全部用%s代替,或者用多个"+"来构造类似的输出字符串。

Python 相关文章推荐
Python模块学习 re 正则表达式
May 19 Python
Python入门篇之文件
Oct 20 Python
python中base64加密解密方法实例分析
May 16 Python
在Django的模型中添加自定义方法的示例
Jul 21 Python
Python内置函数delattr的具体用法
Nov 23 Python
python 实现对数据集的归一化的方法(0-1之间)
Jul 17 Python
Python中的 enum 模块源码详析
Jan 09 Python
PyQt5响应回车事件的方法
Jun 25 Python
python openvc 裁剪、剪切图片 提取图片的行和列
Sep 19 Python
python图片剪裁代码(图片按四个点坐标剪裁)
Mar 10 Python
详解numpy1.19.4与python3.9版本冲突解决
Dec 15 Python
Python实现疫情地图可视化
Feb 05 Python
Python中条件选择和循环语句使用方法介绍
Mar 13 #Python
python list 合并连接字符串的方法
Mar 09 #Python
python的正则表达式re模块的常用方法
Mar 09 #Python
Python语言编写电脑时间自动同步小工具
Mar 08 #Python
py2exe 编译ico图标的代码
Mar 08 #Python
python中wx将图标显示在右下角的脚本代码
Mar 08 #Python
python中关于时间和日期函数的常用计算总结(time和datatime)
Mar 08 #Python
You might like
jq的get传参数在utf-8中乱码问题的解决php版
2008/07/23 PHP
注意!PHP 7中不要做的10件事
2016/09/18 PHP
php实现数组重复数字统计实例
2018/09/30 PHP
js 表格隔行颜色
2009/12/02 Javascript
学习从实践开始之jQuery插件开发 对话框插件开发
2012/04/26 Javascript
CSS(js)限制页面显示的文本字符长度
2012/12/27 Javascript
登陆成功后自动计算秒数执行跳转
2014/01/23 Javascript
jquery的live使用注意事项
2014/02/18 Javascript
node.js入门教程迷你书、node.js入门web应用开发完全示例
2014/04/06 Javascript
node.js中的buffer.Buffer.isEncoding方法使用说明
2014/12/14 Javascript
javascript实现密码强度显示
2015/03/18 Javascript
微信小程序(六):列表上拉加载下拉刷新示例
2017/01/13 Javascript
DOM事件探秘篇
2017/02/15 Javascript
layui中layer前端组件实现图片显示功能的方法分析
2017/10/13 Javascript
vue2中使用sass并配置全局的sass样式变量的方法
2018/09/04 Javascript
从源码里了解vue中的nextTick的使用
2018/11/22 Javascript
深入理解使用Vue实现Context-Menu的思考与总结
2019/03/09 Javascript
原生js实现日历效果
2020/03/02 Javascript
[02:16]2018年度CS GO最具人气选手-完美盛典
2018/12/16 DOTA
python通过pip更新所有已安装的包实现方法
2017/05/19 Python
详解Python里使用正则表达式的ASCII模式
2017/11/02 Python
python类的方法属性与方法属性的动态绑定代码详解
2017/12/27 Python
详解python路径拼接os.path.join()函数的用法
2019/10/09 Python
pygame实现贪吃蛇游戏(上)
2019/10/29 Python
使用Python的Turtle绘制哆啦A梦实例
2019/11/21 Python
Python多重继承之菱形继承的实例详解
2020/02/12 Python
HTML5网页音乐播放器的示例代码
2017/11/09 HTML / CSS
浅谈html5 video 移动端填坑记
2018/01/15 HTML / CSS
美国著名的女性内衣零售商:Frederick’s of Hollywood
2018/02/24 全球购物
小区门卫岗位职责
2013/12/31 职场文书
护理中职生求职信范文
2014/02/24 职场文书
2014年乡镇植树节活动方案
2014/02/28 职场文书
2014大学生全国两会学习心得体会
2014/03/13 职场文书
学生党员一帮一活动总结
2014/07/08 职场文书
领导干部群众路线对照检查材料
2014/11/05 职场文书
2016年学校安全教育月活动总结
2016/04/06 职场文书