Python通过format函数格式化显示值


Posted in Python onOctober 17, 2020

英文文档:

format(value[, format_spec])

Convert a value to a “formatted” representation, as controlled by format_spec. The interpretation of format_spec will depend on the type of the value argument, however there is a standard formatting syntax that is used by most built-in types: Format Specification Mini-Language.

The default format_spec is an empty string which usually gives the same effect as calling str(value).

A call to format(value, format_spec) is translated to type(value).__format__(value, format_spec) which bypasses the instance dictionary when searching for the value's __format__() method. A TypeError exception is raised if the method search reaches object and the format_spec is non-empty, or if either the format_spec or the return value are not strings.

格式化显示值

说明:

1. 函数功能将一个数值进行格式化显示。

2. 如果参数format_spec未提供,则和调用str(value)效果相同,转换成字符串格式化。

>>> format(3.1415936)
'3.1415936'
>>> str(3.1415926)
'3.1415926'

3. 对于不同的类型,参数format_spec可提供的值都不一样

#字符串可以提供的参数 's' None
>>> format('some string','s')
'some string'
>>> format('some string')
'some string'

#整形数值可以提供的参数有 'b' 'c' 'd' 'o' 'x' 'X' 'n' None
>>> format(3,'b') #转换成二进制
'11'
>>> format(97,'c') #转换unicode成字符
'a'
>>> format(11,'d') #转换成10进制
'11'
>>> format(11,'o') #转换成8进制
'13'
>>> format(11,'x') #转换成16进制 小写字母表示
'b'
>>> format(11,'X') #转换成16进制 大写字母表示
'B'
>>> format(11,'n') #和d一样
'11'
>>> format(11) #默认和d一样
'11'

#浮点数可以提供的参数有 'e' 'E' 'f' 'F' 'g' 'G' 'n' '%' None
>>> format(314159267,'e') #科学计数法,默认保留6位小数
'3.141593e+08'
>>> format(314159267,'0.2e') #科学计数法,指定保留2位小数
'3.14e+08'
>>> format(314159267,'0.2E') #科学计数法,指定保留2位小数,采用大写E表示
'3.14E+08'
>>> format(314159267,'f') #小数点计数法,默认保留6位小数
'314159267.000000'
>>> format(3.14159267000,'f') #小数点计数法,默认保留6位小数
'3.141593'
>>> format(3.14159267000,'0.8f') #小数点计数法,指定保留8位小数
'3.14159267'
>>> format(3.14159267000,'0.10f') #小数点计数法,指定保留10位小数
'3.1415926700'
>>> format(3.14e+1000000,'F') #小数点计数法,无穷大转换成大小字母
'INF'

#g的格式化比较特殊,假设p为格式中指定的保留小数位数,先尝试采用科学计数法格式化,得到幂指数exp,如果-4<=exp<p,则采用小数计数法,并保留p-1-exp位小数,否则按小数计数法计数,并按p-1保留小数位数
>>> format(0.00003141566,'.1g') #p=1,exp=-5 ==》 -4<=exp<p不成立,按科学计数法计数,保留0位小数点
'3e-05'
>>> format(0.00003141566,'.2g') #p=1,exp=-5 ==》 -4<=exp<p不成立,按科学计数法计数,保留1位小数点
'3.1e-05'
>>> format(0.00003141566,'.3g') #p=1,exp=-5 ==》 -4<=exp<p不成立,按科学计数法计数,保留2位小数点
'3.14e-05'
>>> format(0.00003141566,'.3G') #p=1,exp=-5 ==》 -4<=exp<p不成立,按科学计数法计数,保留0位小数点,E使用大写
'3.14E-05'
>>> format(3.1415926777,'.1g') #p=1,exp=0 ==》 -4<=exp<p成立,按小数计数法计数,保留0位小数点
'3'
>>> format(3.1415926777,'.2g') #p=1,exp=0 ==》 -4<=exp<p成立,按小数计数法计数,保留1位小数点
'3.1'
>>> format(3.1415926777,'.3g') #p=1,exp=0 ==》 -4<=exp<p成立,按小数计数法计数,保留2位小数点
'3.14'
>>> format(0.00003141566,'.1n') #和g相同
'3e-05'
>>> format(0.00003141566,'.3n') #和g相同
'3.14e-05'
>>> format(0.00003141566) #和g相同
'3.141566e-05'

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python pdb调试方法分享
Jan 21 Python
如何搜索查找并解决Django相关的问题
Jun 30 Python
Python简单进程锁代码实例
Apr 27 Python
Python采用Django开发自己的博客系统
Sep 29 Python
Python中字典和集合学习小结
Jul 07 Python
基于Python闭包及其作用域详解
Aug 28 Python
基于python中staticmethod和classmethod的区别(详解)
Oct 24 Python
python SMTP实现发送带附件电子邮件
May 22 Python
python环形单链表的约瑟夫问题详解
Sep 27 Python
python利用7z批量解压rar的实现
Aug 07 Python
PyCharm MySQL可视化Database配置过程图解
Jun 09 Python
Python json格式化打印实现过程解析
Jul 21 Python
Python如何使用vars返回对象的属性列表
Oct 17 #Python
Python使用eval函数执行动态标表达式过程详解
Oct 17 #Python
Python基于locals返回作用域字典
Oct 17 #Python
Python classmethod装饰器原理及用法解析
Oct 17 #Python
Python基于staticmethod装饰器标示静态方法
Oct 17 #Python
详解python算法常用技巧与内置库
Oct 17 #Python
Python 操作SQLite数据库的示例
Oct 16 #Python
You might like
聊天室php&amp;mysql(二)
2006/10/09 PHP
php中数据库连接方式pdo和mysqli对比分析
2015/02/25 PHP
PHP性能分析工具xhprof的安装使用与注意事项
2017/12/19 PHP
js下用层来实现select的title提示属性
2010/02/23 Javascript
基于jQuery的简单的列表导航菜单
2011/03/02 Javascript
jQuery.get、jQuery.getJSON、jQuery.post无法返回JSON问题的解决方法
2011/07/28 Javascript
仿新浪微博返回顶部的jquery实现代码
2012/10/01 Javascript
如何将JS的变量值传递给ASP变量
2012/12/10 Javascript
Jquery获取和修改img的src值的方法
2014/02/17 Javascript
javascript初学者常用技巧
2014/09/02 Javascript
详谈jQuery中的this和$(this)
2014/11/13 Javascript
js中this的用法实例分析
2015/01/10 Javascript
jquery滚动加载数据的方法
2015/03/09 Javascript
学习JavaScript设计模式之策略模式
2016/01/12 Javascript
基于JS实现新闻列表无缝向上滚动实例代码
2016/01/22 Javascript
微信+angularJS的SPA应用中用router进行页面跳转,jssdk校验失败问题解决
2016/09/09 Javascript
JavaScript数据结构之二叉树的遍历算法示例
2017/04/13 Javascript
详解node中创建服务进程
2017/05/09 Javascript
vue 接口请求地址前缀本地开发和线上开发设置方式
2020/08/13 Javascript
node.js爬虫框架node-crawler初体验
2020/10/29 Javascript
python的Tqdm模块的使用
2018/01/10 Python
根据DataFrame某一列的值来选择具体的某一行方法
2018/07/03 Python
Django如何防止定时任务并发浅析
2019/05/14 Python
Python3进制之间的转换代码实例
2019/08/24 Python
40行Python代码实现天气预报和每日鸡汤推送功能
2020/02/27 Python
Python爬取阿拉丁统计信息过程图解
2020/05/12 Python
python实现简易版学生成绩管理系统
2020/06/22 Python
快速创建 HTML5 Canvas 电信网络拓扑图的示例代码
2018/03/21 HTML / CSS
详解canvas绘制网络字体几种方法
2019/08/27 HTML / CSS
Linux管理员面试题 Linux admin interview questions
2016/07/08 面试题
传统软件工程与面向对象的软件工程有什么区别
2012/05/31 面试题
简历中求职的个人自我评价
2013/12/03 职场文书
李敖北大演讲稿
2014/05/24 职场文书
工作能力自我评价2015
2015/03/05 职场文书
功夫熊猫观后感
2015/06/10 职场文书
婚宴领导致辞
2015/07/28 职场文书