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的Django框架中调用方法和处理无效变量
Jul 15 Python
python http接口自动化脚本详解
Jan 02 Python
Python2中文处理纪要的实现方法
Mar 10 Python
一个可以套路别人的python小程序实例代码
Apr 09 Python
django页面跳转问题及注意事项
Jul 18 Python
Django 创建/删除用户的示例代码
Jul 24 Python
基于 Django 的手机管理系统实现过程详解
Aug 16 Python
Django之模板层的实现代码
Sep 09 Python
opencv调整图像亮度对比度的示例代码
Sep 27 Python
Python Pandas 转换unix时间戳方式
Dec 07 Python
Python基础之函数原理与应用实例详解
Jan 03 Python
Python读写csv文件流程及异常解决
Oct 20 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执行速度全攻略(下)
2006/10/09 PHP
Apache实现Web Server负载均衡详解(不考虑Session版)
2013/07/05 PHP
PHP基于自定义类随机生成姓名的方法示例
2017/08/05 PHP
PHP大文件分割分片上传实现代码
2020/12/09 PHP
一行代码实现纯数据json对象的深度克隆实现思路
2013/01/09 Javascript
jquery实现漂浮在网页右侧的qq在线客服插件示例
2013/05/13 Javascript
jquery实现简单的拖拽效果实例兼容所有主流浏览器
2013/06/21 Javascript
js一般方法改写成面向对象方法的无限级折叠菜单示例代码
2013/07/04 Javascript
js的alert样式如何更改如背景颜色
2014/01/22 Javascript
jQuery判断对象是否存在的方法
2015/02/05 Javascript
跟我学习javascript的this关键字
2020/05/28 Javascript
第一篇初识bootstrap
2016/06/21 Javascript
利用JavaScript判断浏览器类型及版本
2016/08/23 Javascript
jQuery组件easyui对话框实现代码
2016/08/25 Javascript
JS 动态加载js文件和css文件 同步/异步的两种简单方式
2016/09/23 Javascript
在node中如何使用 ES6
2017/04/22 Javascript
微信小程序实现打开内置地图功能【附源码下载】
2017/12/07 Javascript
JavaScript封装的常用工具类库bee.js用法详解【经典类库】
2018/09/03 Javascript
详解离线安装npm包的几种方法
2018/11/25 Javascript
详解vantUI框架在vue项目中的应用踩坑
2018/12/06 Javascript
vue-router的两种模式的区别
2019/05/30 Javascript
Vue实现导航栏的显示开关控制
2019/11/01 Javascript
JS求解两数之和算法详解
2020/04/28 Javascript
python实现获取客户机上指定文件并传输到服务器的方法
2015/03/16 Python
python生成二维码的实例详解
2017/10/29 Python
pip install urllib2不能安装的解决方法
2018/06/12 Python
Python实现字典按key或者value进行排序操作示例【sorted】
2019/05/03 Python
python isinstance函数用法详解
2020/02/13 Python
Oracle里面常用的数据字典有哪些
2014/02/14 面试题
药剂专业自荐信范文
2014/04/16 职场文书
团拜会策划方案
2014/06/07 职场文书
放假通知范文
2015/04/14 职场文书
2015年行政管理人员工作总结
2015/10/15 职场文书
Go语言基础函数基本用法及示例详解
2021/11/17 Golang
Vue.js中v-bind指令的用法介绍
2022/03/13 Vue.js
spring IOC容器的Bean管理XML自动装配过程
2022/05/30 Java/Android