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

 更新时间:2018年10月29日 23:57:59   作者:大西  
这篇文章主要介绍了Python格式化输出字符串方法,结合实例形式总结分析了使用%与format函数进行字符串格式化操作相关实现技巧与注意事项,需要的朋友可以参考下

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,"jb51"))#输出123456 jb51
123456 jb51
>>> 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("jb51",".","net"))#输出jb51.net
jb51.net
>>> print("{a[0]}{a[1]}{a[2]}".format(a=["jb51",".","net"]))#输出jb51.net
jb51.net
>>> print("{dict[host]}{dict[dot]}{dict[domain]}".format(dict={"host":"www","domain":"jb51.net","dot":"."}))#输出www.jb51.net
www.jb51.net
>>> 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字符串基本操作

相关文章

  • Playwright快速上手指南(入门教程)

    Playwright快速上手指南(入门教程)

    Playwright是由微软公司2020年初发布的新一代自动化测试工具,相较于目前最常用的Selenium,本文就详细的介绍一下快速上手指南,对新手有一定的帮助,感兴趣的可以了解一下
    2021-12-12
  • Python如何读取文件中图片格式

    Python如何读取文件中图片格式

    这篇文章主要介绍了Python如何读取文件中图片格式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • 解决python3.6用cx_Oracle库连接Oracle的问题

    解决python3.6用cx_Oracle库连接Oracle的问题

    这篇文章主要介绍了解决python3.6用cx_Oracle库连接Oracle的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • Python+OpenCV实战之实现文档扫描

    Python+OpenCV实战之实现文档扫描

    这篇文章主要为大家详细介绍了Python+Opencv如何实现文档扫描的功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2022-09-09
  • python基础之元组

    python基础之元组

    这篇文章主要介绍了python的元组,实例分析了Python中返回一个返回值与多个返回值的方法,需要的朋友可以参考下
    2021-10-10
  • Python如何实现小程序 无限求和平均

    Python如何实现小程序 无限求和平均

    这篇文章主要介绍了python如何实现小程序 无限求和平均,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • Python通过for循环理解迭代器和生成器实例详解

    Python通过for循环理解迭代器和生成器实例详解

    这篇文章主要介绍了Python通过for循环理解迭代器和生成器,结合实例形式详细分析了迭代器和生成器的概念、原理、使用方法及相关操作技巧,需要的朋友可以参考下
    2019-02-02
  • python使用wmi模块获取windows下硬盘信息的方法

    python使用wmi模块获取windows下硬盘信息的方法

    这篇文章主要介绍了python使用wmi模块获取windows下硬盘信息的方法,涉及Python获取系统硬件信息的相关技巧,需要的朋友可以参考下
    2015-05-05
  • python中创建以及删除虚拟环境的几种方法总结

    python中创建以及删除虚拟环境的几种方法总结

    在Python 中创建虚拟环境非常容易,但是删除虚拟环境可能会有一些挑战,这篇文章主要给大家介绍了关于python中创建以及删除虚拟环境的几种方法,需要的朋友可以参考下
    2024-03-03
  • python tkiner实现 一个小小的图片翻页功能的示例代码

    python tkiner实现 一个小小的图片翻页功能的示例代码

    这篇文章主要介绍了python tkiner实现 一个小小的图片翻页功能,需要的朋友可以参考下
    2020-06-06

最新评论