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中字典创建、遍历、添加等实用操作技巧合集
Jun 02 Python
python中的字符串内部换行方法
Jul 19 Python
Numpy 改变数组维度的几种方法小结
Aug 02 Python
python3实现多线程聊天室
Dec 12 Python
用python做游戏的细节详解
Jun 25 Python
python+numpy实现的基本矩阵操作示例
Jul 19 Python
python 的 openpyxl模块 读取 Excel文件的方法
Sep 09 Python
Python 迭代,for...in遍历,迭代原理与应用示例
Oct 12 Python
pytorch之添加BN的实现
Jan 06 Python
Python threading.local代码实例及原理解析
Mar 16 Python
opencv 图像腐蚀和图像膨胀的实现
Jul 07 Python
Python 调用C++封装的进一步探索交流
Mar 04 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中call_user_func_array的作用
2013/06/07 PHP
php跨站攻击实例分析
2014/10/28 PHP
php取得字符串首字母的方法
2015/03/25 PHP
php数组合并与拆分实例分析
2015/06/12 PHP
Yii2搭建后台并实现rbac权限控制完整实例教程
2016/04/28 PHP
php封装的验证码工具类完整实例
2016/10/19 PHP
创建无限极分类树型结构的简单方法
2017/06/20 PHP
浅谈PHP中如何实现Hook机制
2017/11/14 PHP
javascript 有用的脚本函数
2009/05/07 Javascript
AJAX使用了UpdatePanel后无法使用alert弹出脚本
2010/04/02 Javascript
原生js写的放大镜效果
2012/08/22 Javascript
js函数排序的实例代码
2013/07/01 Javascript
JS实现仿google、百度搜索框输入信息智能提示的实现方法
2015/04/20 Javascript
JavaScript中的substr()方法使用详解
2015/06/06 Javascript
js实现选中页面文字将其分享到新浪微博
2015/11/05 Javascript
jQuery插件Validate实现自定义校验结果样式
2016/01/18 Javascript
JQuery对ASP.NET MVC数据进行更新删除
2016/07/13 Javascript
jQuery使用$获取对象后检查该对象是否存在的实现方法
2016/09/04 Javascript
JavaScript实现点击按钮复制指定区域文本(推荐)
2016/11/25 Javascript
BootstrapValidator超详细教程(推荐)
2016/12/07 Javascript
如何制作幻灯片(代码分享)
2017/01/06 Javascript
解决JS外部文件中文注释出现乱码问题
2017/07/09 Javascript
10行原生JS实现文字无缝滚动(超简单)
2018/01/02 Javascript
页面点击小红心js实现代码
2018/05/26 Javascript
原生JS实现动态添加新元素、删除元素方法
2019/05/05 Javascript
django中使用vue.js的要点总结
2019/07/07 Javascript
ElementUI Tree 树形控件的使用并给节点添加图标
2020/02/27 Javascript
[45:59]EG vs OG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
python tkinter组件摆放方式详解
2019/09/16 Python
Python 字典中的所有方法及用法
2020/06/10 Python
Python爬虫之App爬虫视频下载的实现
2020/12/08 Python
css3 实现圆形旋转倒计时
2018/02/24 HTML / CSS
什么是Deployment descriptors;都有什么类型的部署描述符
2015/07/28 面试题
会计电算化专业毕业生自荐信
2013/12/20 职场文书
护士求职自荐信范文
2014/03/19 职场文书
关工委先进个人事迹材料
2014/05/23 职场文书