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 代码性能优化技巧分享
Aug 07 Python
python进阶教程之文本文件的读取和写入
Aug 29 Python
python中os模块详解
Oct 14 Python
详解python 拆包可迭代数据如tuple, list
Dec 29 Python
Python动刷新抢12306火车票的代码(附源码)
Jan 24 Python
使用 Python 实现文件递归遍历的三种方式
Jul 18 Python
Win10下python3.5和python2.7环境变量配置教程
Sep 18 Python
使用Python实现在Windows下安装Django
Oct 17 Python
Python3基础教程之递归函数简单示例
Jun 07 Python
Pandas 解决dataframe的一列进行向下顺移问题
Dec 27 Python
Python的in,is和id函数代码实例
Apr 18 Python
python 使用raw socket进行TCP SYN扫描实例
May 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
JAVA/JSP学习系列之六
2006/10/09 PHP
php自动更新版权信息显示的方法
2015/06/19 PHP
详解php几行代码实现CSV格式文件输出
2017/07/01 PHP
PHP Socket网络操作类定义与用法示例
2017/08/30 PHP
可兼容php5与php7的cURL文件上传功能实例分析
2018/05/11 PHP
js身份证判断方法支持15位和18位
2014/03/18 Javascript
js数组方法扩展实现数组统计函数
2014/04/09 Javascript
绑定回车enter事件代码
2014/05/18 Javascript
ECMAScript5(ES5)中bind方法使用小结
2015/05/07 Javascript
jQuery实现的兼容性浮动层示例
2016/08/02 Javascript
JavaScript数组去重的6个方法
2017/01/21 Javascript
微信小程序开发之选项卡(窗口底部TabBar)页面切换
2017/04/12 Javascript
Vue.directive()的用法和实例详解
2018/03/04 Javascript
es6新特性之 class 基本用法解析
2018/05/05 Javascript
基于elementUI使用v-model实现经纬度输入的vue组件
2019/05/12 Javascript
封装一下vue中的axios示例代码详解
2020/02/16 Javascript
微信小程序点击生成朋友圈分享图(遇到的坑)
2020/06/17 Javascript
vue组件添加事件@click.native操作
2020/10/30 Javascript
Python 检查数组元素是否存在类似PHP isset()方法
2014/10/14 Python
详解Python中time()方法的使用的教程
2015/05/22 Python
python获取当前用户的主目录路径方法(推荐)
2017/01/12 Python
使用Python对Csv文件操作实例代码
2017/05/12 Python
Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例
2018/07/27 Python
Python使用mongodb保存爬取豆瓣电影的数据过程解析
2019/08/14 Python
Python configparser模块常用方法解析
2020/05/22 Python
Python 如何创建一个简单的REST接口
2020/07/30 Python
浅析与CSS3的loading动画加载相关的transition优化
2015/05/18 HTML / CSS
Farah官方网站:男士服装及配件
2019/11/01 全球购物
Under Armour安德玛意大利官网:美国高端运动科技品牌
2020/01/16 全球购物
精神文明建设先进工作者事迹材料
2014/05/02 职场文书
基层党建工作宣传标语
2014/06/24 职场文书
入党积极分子学习优秀共产党员先进事迹思想汇报
2014/09/13 职场文书
手术室护士个人总结
2015/02/13 职场文书
小学数学教学随笔
2015/08/14 职场文书
PHP命令行与定时任务
2021/04/01 PHP
六个好看实用的 HTML + CSS 后台登录入口页面
2022/04/28 HTML / CSS