Python格式化输出字符串方法小结【%与format】


Posted in Python onOctober 29, 2018

python格式化字符串有%和{}两种 字符串格式控制符.

字符串输入数据格式类型(%格式操作符号)

%% 百分号标记#就是输出一个%
%c 字符及其ASCII码
%s 字符串
%d 有符号整数(十进制)
%u 无符号整数(十进制)
%o 无符号整数(八进制)
%x 无符号整数(十六进制)
%X 无符号整数(十六进制大写字符)
%e 浮点数字(科学计数法)
%E 浮点数字(科学计数法,用E代替e)
%f 浮点数字(用小数点符号)
%g 浮点数字(根据值的大小采用%e或%f)
%G 浮点数字(类似于%g)
%p 指针(用十六进制打印值的内存地址)
%n 存储输出字符的数量放进参数列表的下一个变量中

字符串格式控制%[(name)][flag][width][.][precision]type
name:可为空,数字(占位),命名(传递参数名,不能以数字开头)以字典格式映射格式化,其为键名

flag:标记格式限定符号,包含+-#和0,+表示右对齐(会显示正负号),-左对齐,前面默认为填充空格(即默认右对齐),0表示填充0,#表示八进制时前面补充0,16进制数填充0x,二进制填充0b

width:宽度(最短长度,包含小数点,小于width时会填充)

precision:小数点后的位数,与C相同

type:输入格式类型,请看上面

还有一种format_spec格式{[name][:][[fill]align][sign][#][0][width][,][.precision][type]}
{}包裹name命名传递给format以命名=值 写法,非字典映射,其他和上面相同

fill =  <any character>

#fill是表示可以填写任何字符

align =  "<" | ">" | "=" | "^"

#align是对齐方式,<是左对齐, >是右对齐,^是居中对齐。

sign  =  "+" | "-" | " "

#sign是符号, +表示正号, -表示负号

width =  integer

#width是数字宽度,表示总共输出多少位数字

precision =  integer

#precision是小数保留位数

type =  "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"

#type是输出数字值是的表示方式,比如b是二进制表示;比如E是指数表示;比如X是十六进制表示

例子(本机测试运行环境:Python3.6)

>>> print("{:,}".format(123456))#输出1234,56
123,456
>>> print("{a:w^8}".format(a="8"))#输出www8wwww,填充w
www8wwww
>>> print("%.5f" %5)#输出5.000000
5.00000
>>> print("%-7s3" %("python"))#输出python 3
python 3
>>> print("%.3e" %2016)#输出2.016e+03,也可以写大E
2.016e+03
>>> print("%d %s" %(123456,"3water"))#输出123456 3water
123456 3water
>>> print("%(what)s is %(year)d" % {"what":"this year","year":2016})#输出this year is 2016
this year is 2016
>>> print("{0}{1}".format("hello","fun"))#输出hellofun,这与CSharp的格式化字符(占位符)相似
hellofun
>>> print("{}{}{}".format("3water",".","net"))#输出3water.com
3water.com
>>> print("{a[0]}{a[1]}{a[2]}".format(a=["3water",".","net"]))#输出3water.com
3water.com
>>> print("{dict[host]}{dict[dot]}{dict[domain]}".format(dict={"host":"www","domain":"3water.com","dot":"."}))#输出3water.com
3water.com
>>> print("{a}{b}".format(a="python",b="3"))#输出python3
python3
>>> print("{who} {doing} {0}".format("python",doing="like",who="I"))#输出I like python
I like python
>>>

另:关于Python format函数格式化输出操作可参考前面一篇Python字符串基本操作

Python 相关文章推荐
初步探究Python程序的执行原理
Apr 11 Python
答题辅助python代码实现
Jan 16 Python
Python 字符串与数字输出方法
Jul 16 Python
python 找出list中最大或者最小几个数的索引方法
Oct 30 Python
python之线程通过信号pyqtSignal刷新ui的方法
Jan 11 Python
Python3.5面向对象与继承图文实例详解
Apr 24 Python
python中类的输出或类的实例输出为这种形式的原因
Aug 12 Python
使用python将最新的测试报告以附件的形式发到指定邮箱
Sep 20 Python
python自动化测试无法启动谷歌浏览器问题
Oct 10 Python
django 将自带的数据库sqlite3改成mysql实例
Jul 09 Python
Pycharm2020.1安装中文语言插件的详细教程(不需要汉化)
Aug 07 Python
Python+MySQL随机试卷及答案生成程序的示例代码
Feb 01 Python
[原创]Python入门教程2. 字符串基本操作【运算、格式化输出、常用函数】
Oct 29 #Python
pycharm执行python时,填写参数的方法
Oct 29 #Python
解决Pycharm下面出现No R interpreter defined的问题
Oct 29 #Python
解决Pycharm运行时找不到文件的问题
Oct 29 #Python
解决Mac下首次安装pycharm无project interpreter的问题
Oct 29 #Python
解决pycharm运行时interpreter为空的问题
Oct 29 #Python
在Pycharm中项目解释器与环境变量的设置方法
Oct 29 #Python
You might like
PHP4 与 MySQL 数据库操作函数详解
2006/10/09 PHP
PHP 数组遍历方法大全(foreach,list,each)
2010/06/30 PHP
如何在smarty中增加类似foreach的功能自动加载数据
2013/06/26 PHP
js url传值中文乱码之解决之道
2009/11/20 Javascript
JavaScript 作用域链解析
2014/11/13 Javascript
jQuery遍历DOM元素与节点方法详解
2016/04/14 Javascript
详解JavaScript时间处理之几个月前或几个月后的指定日期
2016/12/21 Javascript
Vue.js 递归组件实现树形菜单(实例分享)
2016/12/21 Javascript
根据Bootstrap Paginator改写的js分页插件
2016/12/25 Javascript
bootstrap table之通用方法( 时间控件,导出,动态下拉框, 表单验证 ,选中与获取信息)代码分享
2017/01/24 Javascript
安装vue-cli报错 -4058 的解决方法
2017/10/19 Javascript
vue.js项目打包上线的图文教程
2017/11/16 Javascript
js实现rem自动匹配计算font-size的示例
2017/11/18 Javascript
node.js使用redis储存session的方法
2018/09/26 Javascript
vue移动端使用appClound拉起支付宝支付的实现方法
2019/11/21 Javascript
通过angular CDK实现页面元素拖放的步骤详解
2020/07/01 Javascript
Flexible.js可伸缩布局实现方法详解
2020/11/13 Javascript
[01:03:42]VP vs VGJ.S 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
使用Python中的线程进行网络编程的入门教程
2015/04/15 Python
Python同时向控制台和文件输出日志logging的方法
2015/05/26 Python
Python二叉树定义与遍历方法实例分析
2018/05/25 Python
python opencv实现运动检测
2018/07/10 Python
python调用百度语音REST API
2018/08/30 Python
Python实现网站表单提交和模板
2019/01/15 Python
Python3.5 Pandas模块缺失值处理和层次索引实例详解
2019/04/23 Python
python内存管理机制原理详解
2019/08/12 Python
python框架flask入门之路由及简单实现方法
2020/06/07 Python
python的链表基础知识点
2020/09/13 Python
美国领先的家居装饰和礼品商店:Kirkland’s
2017/01/30 全球购物
Vinatis德国:法国领先的葡萄酒邮购公司
2020/09/07 全球购物
大学生学习党课思想汇报
2014/01/03 职场文书
二手房购房协议书范本
2014/10/05 职场文书
2014年生产部工作总结
2014/12/17 职场文书
酒店保洁员岗位职责
2015/02/26 职场文书
修改MySQL的数据库引擎为INNODB的方法
2021/05/26 MySQL
MySQL 那些常见的错误设计规范,你都知道吗
2021/07/16 MySQL