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中的getattr(),setattr(),delattr(),hasattr()
Jun 14 Python
python常见排序算法基础教程
Apr 13 Python
Python爬虫使用脚本登录Github并查看信息
Jul 16 Python
python print输出延时,让其立刻输出的方法
Jan 07 Python
Python mutiprocessing多线程池pool操作示例
Jan 30 Python
如何使用python操作vmware
Jul 27 Python
Python图像处理库PIL的ImageEnhance模块使用介绍
Feb 26 Python
python如何输出反斜杠
Jun 18 Python
Python爬虫基于lxml解决数据编码乱码问题
Jul 31 Python
Python如何执行系统命令
Sep 23 Python
pdf论文中python画的图Type 3 fonts字体不兼容的解决方案
Apr 24 Python
Python使用Beautiful Soup(BS4)库解析HTML和XML
Jun 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
PHP程序员最常犯的11个MySQL错误小结
2010/11/20 PHP
PHP删除数组中特定元素的两种方法
2013/07/02 PHP
php 浮点数比较方法详解
2017/05/05 PHP
调试Javascript代码(浏览器F12及VS中debugger关键字)
2013/01/25 Javascript
jQuery的控件及事件(输入控件及回车事件)使用示例
2013/07/25 Javascript
js替代copy(示例代码)
2013/11/27 Javascript
前端必备神器 Snap.svg 弹动效果
2014/11/10 Javascript
javascript实现校验文件上传控件实例
2015/04/20 Javascript
jQuery Easyui Tabs扩展根据自定义属性打开页签
2016/08/15 Javascript
AngularJs  E2E Testing 详解
2016/09/02 Javascript
BootStrap注意事项小结(五)表单
2017/03/10 Javascript
vue2的todolist入门小项目的详细解析
2017/05/11 Javascript
AngularJS实现表单元素值绑定操作示例
2017/10/11 Javascript
在vue中使用Autoprefixed的方法
2018/07/27 Javascript
使用JS判断移动端手机横竖屏状态
2018/07/30 Javascript
angularjs $http调用接口的方式详解
2018/08/13 Javascript
微信小程序文章详情页面实现代码
2018/09/10 Javascript
JavaScript进阶(一)变量声明提升实例分析
2020/05/09 Javascript
你不知道的 TypeScript 高级类型(小结)
2020/08/28 Javascript
Python中多线程及程序锁浅析
2015/01/21 Python
利用QT写一个极简单的图形化Python闹钟程序
2015/04/07 Python
Python计算一个文件里字数的方法
2015/06/15 Python
Python实现针对含中文字符串的截取功能示例
2017/09/22 Python
python之pandas用法大全
2018/03/13 Python
Python使用cx_Oracle模块操作Oracle数据库详解
2018/05/07 Python
阿迪达斯意大利在线商店:adidas意大利
2016/09/19 全球购物
关于Java finally的面试题
2016/04/27 面试题
中文系学生自荐信范文
2013/11/13 职场文书
优秀员工获奖感言
2014/03/01 职场文书
入党积极分子学习两会心得体会范文
2014/03/17 职场文书
廉洁家庭事迹材料
2014/05/15 职场文书
公诉意见书范文
2015/06/05 职场文书
公司要求试用期员工提交“述职报告”,该怎么写?
2019/07/17 职场文书
关于拾金不昧的感谢信(五篇)
2019/10/18 职场文书
PyTorch的Debug指南
2021/05/07 Python
pycharm无法安装cv2模块问题
2022/05/20 Python