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使用代理抓取网站图片(多线程)
Mar 14 Python
Python中__name__的使用实例
Apr 14 Python
Python编程中运用闭包时所需要注意的一些地方
May 02 Python
Python基于PycURL自动处理cookie的方法
Jul 25 Python
浅谈Django REST Framework限速
Dec 12 Python
浅谈Pandas 排序之后索引的问题
Jun 07 Python
Python数据可视化库seaborn的使用总结
Jan 15 Python
Python列表常见操作详解(获取,增加,删除,修改,排序等)
Feb 18 Python
python matplotlib包图像配色方案分享
Mar 14 Python
调整Jupyter notebook的启动目录操作
Apr 10 Python
Python根据字典的值查询出对应的键的方法
Sep 30 Python
python实现自动化群控的步骤
Apr 11 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
默默简单的写了一个模板引擎
2007/01/02 PHP
深入解析phpCB批量转换的代码示例
2013/06/27 PHP
php json转换成数组形式代码分享
2014/11/10 PHP
PHP使用mysql_fetch_row查询获得数据行列表的方法
2015/03/18 PHP
php5.4传引用时报错问题分析
2016/01/22 PHP
php文件操作小结(删除指定文件/获取文件夹下的文件名/读取文件夹下图片名)
2016/05/09 PHP
推荐40个简单的 jQuery 导航插件和教程(下篇)
2012/09/14 Javascript
js数组循环遍历数组内所有元素的方法
2014/01/18 Javascript
js使用for循环查询数组中是否存在某个值
2014/08/12 Javascript
DOM 事件流详解
2015/01/20 Javascript
Javascript实现图片轮播效果(一)让图片跳动起来
2016/02/17 Javascript
初识angular框架后的所思所想
2016/02/19 Javascript
IE下JS保存图片的简单实例
2016/07/15 Javascript
JS+HTML5 FileReader对象用法示例
2017/04/07 Javascript
了解VUE的render函数的使用
2017/06/08 Javascript
Form表单上传文件(type="file")的使用
2017/08/03 Javascript
Mint-UI时间组件起始时间问题及时间插件使用
2018/08/20 Javascript
pm2启动ssr失败的解决方法
2019/06/29 Javascript
JS实现json数组排序操作实例分析
2019/10/28 Javascript
在webstorm中配置less的方法详解
2020/09/25 Javascript
[01:10:58]KG vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
python连接mongodb操作数据示例(mongodb数据库配置类)
2013/12/31 Python
Python ldap实现登录实例代码
2016/09/30 Python
Python测试网络连通性示例【基于ping】
2018/08/03 Python
python 直接赋值和copy的区别详解
2019/08/07 Python
django框架auth模块用法实例详解
2019/12/10 Python
css3 给背景设置渐变色的方法
2019/09/12 HTML / CSS
新秀丽官方旗舰店:Samsonite拉杆箱、双肩包、皮具
2018/03/05 全球购物
爱尔兰橄榄球店:Irish Rugby Store
2019/12/05 全球购物
Python中如何定义一个函数
2016/09/06 面试题
《狐假虎威》教学反思
2014/02/07 职场文书
培训协议书范本
2014/04/22 职场文书
让生命充满爱演讲稿
2014/05/10 职场文书
乡镇爱国卫生月活动总结
2014/06/25 职场文书
反对四风自我剖析材料
2014/10/07 职场文书
2016年五一促销广告语
2016/01/28 职场文书