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

作者:lincappu 时间:2021-11-06 06:13:01 

英文文档:

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'

来源:https://www.cnblogs.com/lincappu/p/8145078.html

标签:Python,format,函数,格式化,显示值
0
投稿

猜你喜欢

  • python中join与os.path.join()函数实例详解

    2023-08-23 19:20:51
  • python爬取代理ip的示例

    2022-01-20 11:41:12
  • 动态载入asp树源码

    2007-09-06 19:34:00
  • Django urls.py重构及参数传递详解

    2022-10-05 14:20:53
  • Python if else条件语句形式详解

    2021-09-21 06:48:24
  • Python np.where()的详解以及代码应用

    2023-02-15 18:33:01
  • Django如何实现内容缓存示例详解

    2022-02-23 15:33:01
  • 对内联文字的疑惑

    2008-04-18 12:19:00
  • Python3中FuzzyWuzzy库实例用法

    2022-01-30 18:49:49
  • 简单有效上手Python3异步asyncio问题

    2022-01-14 02:28:34
  • ubuntu 18.04 安装opencv3.4.5的教程(图解)

    2022-10-29 16:36:01
  • Python编程使用PyQt5库实现动态水波进度条示例

    2021-11-16 18:50:16
  • python 中xpath爬虫实例详解

    2021-06-08 08:51:46
  • 卷积神经网络的发展及各模型的优缺点及说明

    2023-04-04 21:58:06
  • python 常用的基础函数

    2023-07-24 11:10:51
  • 解析:怎样在MySQL中获得更好的搜索结果

    2008-11-27 15:19:00
  • setInterval 和 setTimeout 会产生内存溢出

    2008-03-08 13:10:00
  • python如何创建TCP服务端和客户端

    2021-05-20 04:52:52
  • 心理模型

    2009-05-17 13:45:00
  • 链接与文本标签们

    2008-04-04 18:07:00
  • asp之家 网络编程 m.aspxhome.com