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 解析XML文件
Apr 15 Python
使用python开发vim插件及心得分享
Nov 04 Python
python字典排序实例详解
May 20 Python
详解Python3.6的py文件打包生成exe
Jul 13 Python
python 美化输出信息的实例
Oct 15 Python
python hook监听事件详解
Oct 25 Python
python SocketServer源码深入解读
Sep 17 Python
python制作朋友圈九宫格图片
Nov 03 Python
Tensorflow 1.0之后模型文件、权重数值的读取方式
Feb 12 Python
详解PyQt5中textBrowser显示print语句输出的简单方法
Aug 07 Python
用Python爬取各大高校并可视化帮弟弟选大学,弟弟直呼牛X
Jun 11 Python
利用Python判断整数是否是回文数的3种方法总结
Jul 07 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
正则表达式语法
2006/10/09 Javascript
防止用户利用PHP代码DOS造成用光网络带宽
2011/03/01 PHP
php 大数据量及海量数据处理算法总结
2011/05/07 PHP
php中用foreach来操作数组的代码
2011/07/17 PHP
邮箱正则表达式实现代码(针对php)
2013/06/21 PHP
PHP+MYSQL会员系统的开发实例教程
2014/08/23 PHP
PHP API接口必备之输出json格式数据示例代码
2017/06/27 PHP
js从Cookies里面取值的简单实现
2014/06/30 Javascript
js创建表单元素并使用submit进行提交
2014/08/14 Javascript
详解JavaScript中的forEach()方法的使用
2015/06/08 Javascript
谈谈Jquery中的children find 的区别有哪些
2015/10/19 Javascript
jQuery代码实现图片墙自动+手动淡入淡出切换效果
2016/05/09 Javascript
深入理解Ajax的get和post请求
2016/06/02 Javascript
全面解析jQuery $(document).ready()和JavaScript onload事件
2016/06/08 Javascript
javascript 常用验证函数总结
2016/06/28 Javascript
功能强大的Bootstrap组件(结合js)
2016/08/03 Javascript
微信小程序  网络请求API详解
2016/10/25 Javascript
浅谈vue中.vue文件解析流程
2018/04/24 Javascript
浅谈JavaScript_DOM学习篇_图片切换小案例
2019/03/19 Javascript
JS Math对象与Math方法实例小结
2019/07/05 Javascript
vue props对象validator自定义函数实例
2019/11/13 Javascript
Python多线程同步Lock、RLock、Semaphore、Event实例
2014/11/21 Python
Windows和Linux下使用Python访问SqlServer的方法介绍
2015/03/10 Python
Python把对应格式的csv文件转换成字典类型存储脚本的方法
2019/02/12 Python
Python列表解析操作实例总结
2020/02/26 Python
python实现扫雷小游戏
2020/04/24 Python
keras中的backend.clip用法
2020/05/22 Python
Pytorch之扩充tensor的操作
2021/03/04 Python
HTML5 Convas APIs方法详解
2015/04/24 HTML / CSS
高中运动会广播稿
2014/01/21 职场文书
工程售后服务方案
2014/06/08 职场文书
群众路线教育实践活动剖析材料
2014/09/30 职场文书
会议室使用管理制度
2015/08/06 职场文书
体育部部长竞选稿
2015/11/21 职场文书
python函数的两种嵌套方法使用
2022/04/02 Python
前端框架ECharts dataset对数据可视化的高级管理
2022/12/24 Javascript