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

作者:大西 时间:2023-01-06 00:01:50 

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字符串基本操作

来源:https://www.cnblogs.com/cnooye/p/5685670.html

标签:Python,格式化输出,字符串
0
投稿

猜你喜欢

  • MySQL索引操作命令详解

    2024-01-29 01:57:55
  • 用Dreamweaver MX实现网站批量更新

    2009-09-13 18:39:00
  • Pyscript使用本地Pyodide配置步骤

    2021-06-12 06:58:49
  • python获取对象信息的实例详解

    2022-04-30 14:55:50
  • asp.net连接查询SQL数据库并把结果显示在网页上(2种方法)

    2024-01-12 13:28:10
  • 使用SQLSERVER 2005/2008 递归CTE查询树型结构的方法

    2024-01-27 15:13:10
  • 利用Python制作简易的核酸检测日历

    2022-02-04 00:55:53
  • MySQL中常见的八种SQL错误用法示例

    2024-01-25 18:40:00
  • Python利用Canny算法检测硬币边缘

    2022-05-15 08:04:43
  • EXEC(EXECUTE)函数访问INSERTED或DELETED的内部临时触发表

    2012-01-29 18:07:30
  • ASP和MYSQL开发网站的注意事项

    2009-08-21 13:23:00
  • python实现简单ftp客户端的方法

    2023-12-14 20:07:31
  • Pycharm运行加载文本出现错误的解决方法

    2021-02-01 09:07:18
  • Mootools 1.2教程(19)——Tooltips

    2008-12-25 13:26:00
  • SqlServer 2005 T-SQL Query 学习笔记(2)

    2024-01-20 20:21:51
  • JavaScript 组件之旅(二):编码实现和算法

    2009-10-09 14:24:00
  • javascript 文档的编码问题解决

    2024-04-22 22:45:22
  • 基于Python的图像阈值化分割(迭代法)

    2022-10-23 21:25:01
  • 如何自己制作验证码的head.fix和body.fix文件

    2009-06-01 12:50:00
  • 基于ORA-19815闪回空间爆满问题的处理方法

    2024-01-21 03:35:04
  • asp之家 网络编程 m.aspxhome.com