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


猜你喜欢
- 1. Mysql备份某个数据库的命令####################################################
- 在JavaScript中有三种声明变量的方式:var、let、const。下文给大家介绍js中三种定义变量的方式const, var, le
- 本文实例讲述了Python实现批量将word转html并将html内容发布至网站的方法。分享给大家供大家参考。具体实现方法如下:#codin
- 连接 Redisimport redisc连接方式:redis提供了2个方法1:StrictRedis:实现大部分官方的命令2:Redis:
- 使用django自带的 AbstractUser 扩展之后,更改AUTH_USER_MODEL = 'users.UserProfi
- 单线程+多任务异步协程协程在函数(特殊函数)定义的时候,使用async修饰,函数调用后,内部语句不会立即执行,而是会返回一个协程对象任务对象
- 本文主要介绍一下在学习可视化过程里遇到的一些情况比如cmap=plt.cm.Blues的映射import matplotlib.pyplot
- 挺久没写博客了,因为博主开始了今年另一段美好的实习经历,学习加做项目,时间已排满;很感谢今年这两段经历,让我接触了golang和python
- vue 页面卡死,点击无反应我在结合element做表单的时候,进入编辑页时,点击切换不生效,但是value值已改变,就是view视图层无反
- 一、需求介绍该需求主要是分析彩票的历史数据,彩票的名称为:1、极速飞艇链接:https://www.dsn665.com/view/jisu
- 本文为大家分享了Linux环境下mysql5.6.24自动安装脚本代码,供大家参考,具体内容如下说明:一、本脚本仅供测试使用,若正式环境想要
- 本文实例讲述了Python迭代器和生成器定义与用法。分享给大家供大家参考,具体如下:迭代器 iter()迭代器是访问集合中元素的一种方式,迭
- 现在能用自动化实现的,尽量使用自动化程序去操作,代替人工去操作,更有效率。今天说下用python结合adb命令去实现安卓手机端的通话压力测试
- 本节内容:1.前言2.相关概念3.Python中的默认编码4.Python2与Python3中对字符串的支持5.字符编码转换一、前言Pyth
- 图像有时候比数据更能满足人们的视觉需求Pytorch中保存图片的方式pytorch下保存图像有很多种方法,但是这些基本上都是基于图像处理的,
- xlsxwriter可能用过的人并不是很多,不过使用后就会感觉,他的功能让你叹服,除了可以按要求生成你所需要的excel外还可以加上很形象的
- 前言JSON是一种轻量级的数据交换格式,采用了独立于语言的文本格式,类似XML,但是比XML简单,易读并且易编写。对机器来说易于解析和生成,
- 本文为大家分享了macOS下mysql 8.0.16 安装配置教程,供大家参考,具体内容如下1、安装程序下载打开MySQL 官网选择 DOW
- OpenCV介绍OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Ma
- #/bin/sh #检测mysql server是否正常提供服务 mysqladmin -u sky -ppwd -h localhost