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下MySQLdb用法实例分析
Jun 08 Python
Python中Django框架利用url来控制登录的方法
Jul 25 Python
Linux中Python 环境软件包安装步骤
Mar 31 Python
python微信跳一跳系列之棋子定位颜色识别
Feb 26 Python
pandas把dataframe转成Series,改变列中值的类型方法
Apr 10 Python
Python实现合并同一个文件夹下所有PDF文件的方法示例
Apr 28 Python
Python实用技巧之利用元组代替字典并为元组元素命名
Jul 11 Python
python清除字符串前后空格函数的方法
Oct 21 Python
pycharm重命名文件的方法步骤
Jul 29 Python
django框架中间件原理与用法详解
Dec 10 Python
如何基于python实现不邻接植花
May 01 Python
python将下载到本地m3u8视频合成MP4的代码详解
Nov 24 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
xml+php动态载入与分页
2006/10/09 PHP
JS与PHP向函数传递可变参数的区别实例代码
2011/05/18 PHP
php学习之流程控制实现代码
2011/06/09 PHP
PHP之APC缓存详细介绍 apc模块安装
2014/01/13 PHP
使用php清除bom示例
2014/03/03 PHP
PHP使用静态方法的几个注意事项
2014/09/16 PHP
Smarty变量用法详解
2016/05/11 PHP
JavaScript中为元素加上name属性的方法
2011/05/09 Javascript
jQuery实现的瀑布流加载效果示例
2016/09/13 Javascript
微信小程序  audio音频播放详解及实例
2016/11/02 Javascript
JS封装通过className获取元素的函数示例
2016/12/20 Javascript
Vue数据驱动模拟实现4
2017/01/12 Javascript
JS实现中国公民身份证号码有效性验证
2017/02/20 Javascript
基于js的变量提升和函数提升(详解)
2017/09/17 Javascript
vue全局组件与局部组件使用方法详解
2018/03/29 Javascript
JavaScript实现浅拷贝与深拷贝的方法分析
2018/07/05 Javascript
原生js实现轮播图特效
2020/05/04 Javascript
在vue中实现禁止回退上一步,路由不存历史记录
2020/07/22 Javascript
Python中time模块和datetime模块的用法示例
2016/02/28 Python
python机器学习之神经网络实现
2018/10/13 Python
使用Python编写Prometheus监控的方法
2018/10/15 Python
python数据处理 根据颜色对图片进行分类的方法
2018/12/08 Python
python+pyqt5编写md5生成器
2019/03/18 Python
【python】matplotlib动态显示详解
2019/04/11 Python
Python 常用模块 re 使用方法详解
2019/06/06 Python
Python搭建Keras CNN模型破解网站验证码的实现
2020/04/07 Python
基于python实现坦克大战游戏
2020/10/27 Python
HTML5地理定位实例
2014/10/15 HTML / CSS
NYX Professional Makeup英国官网:美国平价专业彩妆品牌
2019/11/13 全球购物
高中生学习的自我评价
2013/12/14 职场文书
电子商务应届生自我鉴定
2014/01/13 职场文书
简历上的自我评价怎么写
2014/01/28 职场文书
师德师风剖析材料
2014/09/30 职场文书
农村婚庆主持词
2015/06/29 职场文书
「女孩的钓鱼慢活」全新版权绘公布
2022/03/21 日漫
JavaScript parseInt0.0000005打印5原理解析
2022/07/23 Javascript