format()方法——格式化字符串

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm=1001.2014.3001.5501

语法介绍

format()可以对数据进行格式化处理操作,语法如下:

format(value, format_spec)

format_spec为格式化解释。当参数format_spec为空时,等同于函数str(value)的方式。value为要转换的数据。format_spec可以设置非常复杂的格式转换参数,实现比较完备的数据格式处理模板。format_spec的编写方式如下形式:

format_spec ::= [[fill]align][sign][#][0][width][,][.precision][type]

format_spec格式控制符可以分为文字对齐、填充值、标志设置、格式化、类型转换、千位符(数字分组)等主要应用。细化分类说明如图1所示。

图1  format_spec格式控制符细化分类

主要参数说明:

1)fill(填充值):此处可以填写任何字符,通常与align、width一起使用,实现指定位数字符填充,通常格式如图2所示,填充效果及位置如图3所示。

图2  fill 填充格式

图3  fill 填充格式

通常用0、*、#等进行填充。如果不写填充值,则使用默认填充值,默认填充值为空格。代码如下:

print(format(81,'@<10'))              # 用@填充,宽度为10个空格

print(format(81,'@>10'))              # 用@填充,宽度为10个空格

输出结果为:

81@@@@@@@@

@@@@@@@@81

2)align(对齐方式):指在width(数字宽度)内输出时的对齐方式,分别使用<、>、^和=四个符号表示左对齐、右对齐、居中对齐和数字填充(只用于数字,在符号后进行补齐)。

3)width(数字宽度):指设定输出字符宽度,如果数据的实际位数比width指定宽度值大,则使用数据实际的长度。如果该值的实际位数小于指定宽度,则位数将设定的fill值填充或设定的0值填充,如果没有设置填充值,则用空格填充。

s = "PYTHON"

print(format(s,'10'))          # 没有标志符,如果是字符串则默认左对齐,不足宽度部分默认用空格填充

print(format(81.23,'10'))      # 没有标志符,如果是数字则默认右对齐,不足宽度部分默认用空格填充

print(format(s,'0>10'))        # 右对齐,不足指定宽度部分用0号填充

print(format(s,'>04'))         # 右对齐,因字符实际宽度大于指定宽度4,不用填充

print(format(s,'*>10'))        # 右对齐,不足部分用“*”号填充

print(format(s,'>010'))        # 右对齐,不足部分用0号填充

print(format(s,'>10'))         # 右对齐,默认用空格填充

print(format(s,'<10'))         # 左对齐,默认用空格填充

print(format(s,'<010'))        # 左对齐,不足部分用0号填充

print(format(s,'@^10'))        # 中间对齐,不足部分用“@”填充,宽度为10个空格

print(format(81.23,'0<10'))    # 左对齐,不足部分用0号填充

print(format(81.23,'@^10'))    # 右对齐,不足部分用“@”填充

print(format(81.23,'0>10'))    # 右对齐,不足部分用0号填充

print(format(-81.23,'0=10'))    # 右对齐,负号后面不足部分用0号填充,

输出结果为:

PYTHON   

     81.23

0000PYTHON

PYTHON

****PYTHON

0000PYTHON

    PYTHON

PYTHON   

PYTHON0000

@@PYTHON@@

81.2300000

@@81.23@@@

0000081.23

-000081.23

4)Precision(精度):精度由小数点(.)开头。对于浮点数,精度表示小数部分输出的有效位数。对于字符串,精度表示输出的最大长度。 Precision(精度)通常和Type(类型)配合起来使用。

5)Type(类型):表示输出字符串、整数和浮点数类型的格式规则,默认为字符型s。对于整数类型,输出格式包括7 种:

l  b: 输出整数的二进制方式;

l  c: 输出整数对应的 Unicode 字符;

l  d: 输出整数的十进制方式;

l  n: 输出整数的十进制方式;

l  o: 输出整数的八进制方式;

l  x: 输出整数的小写十六进制方式;

l  X: 输出整数的大写十六进制方式;

对于浮点数类型,输出格式包括7种:

l  e: 输出浮点数对应的小写字母 e 的指数形式;

l  E: 输出浮点数对应的大写字母 E 的指数形式;

l  f: 输出浮点数的浮点表示形式,默认保留6位小数

l  F: 输出浮点数的浮点表示形式,默认保留6位小数,无穷大转换成大写字母'INF'

l  g,自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数法),并将其格式化到指定位置(如果是科学计数则是e;)。

l  G,自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数法),并将其格式化到指定位置(如果是科学计数则是E;)。

l  %: 输出浮点数的百分形式。

    快用锦囊

锦囊1  格式化字符

格式化字符主要包括截取字符串,字符串对齐方式显示,填充字符串等几个方面,下面举例如下:

print(format('PYTHON','M^20.3')) # 截取3个字符,宽度为20居中,不足用‘M’填充

print(format("PYTHON",'10'))          # 默认居左显示,不足部分用‘ ’填充

print(format('mingrisoft.com','.3'))  # 截取3个字符,默认居左显示

print(format("PYTHON",'>10'))         # 居右显示,不足部分用‘ ’填充

s='mingrisoft.com'

print(format(s,'0>20'))    # 右对齐,不足指定宽度部分用0号填充

print(format(s,'>4'))      # 右对齐,因字符实际宽度大于指定宽度4,不用填充

print(format(s,'*>20'))    # 右对齐,不足指定宽度部分用*号填充

print(format(s,'>020'))    # 右对齐,指定0标志位填充

print(format(s,'>20'))     # 右对齐,没指定填充值,用默认值空格填充

print(format(s,'+^30'))    # 居中对齐,用+号填充不足部分

输出效果为:

MMMMMMMMPYTMMMMMMMMM

PYTHON   

min

    PYTHON

000000mingrisoft.com

mingrisoft.com

******mingrisoft.com

000000mingrisoft.com

      mingrisoft.com

++++++++mingrisoft.com++++++++

锦囊2  生成数据编号

利用format()函数实现数据编号。对数据进行编号,也是对字符串格式化操作的一种方式,使用format()方法可以对字符串进行格式化编号。只需设置填充字符(编号通常设置0),设置对齐方式时可以使用<、>和^符号表示左对齐、右对齐和居中对齐,对齐填充的符号在“宽度”范围内输出时填充,即可。对数字1进行3位编号,右对齐,需要设置format()方法的填充字符为0,对齐方式为右对齐,宽度为3。具体代码为:

print(format(1,'0>3'))   

输出结果为:

001

print(format(1,'>03'))

print(format(15,'0>5'))

输出结果为:

001

00015

要生成的编号通常比较复杂,如根据当天的日期建立编号,或者批量生成编号,或者将给定的批量数据中的数字转换成位数固定的编号,下面给出实现如上编号的实现方法:

import datetime

# 时间+编号

wx=datetime.datetime.now().date()

now=datetime.datetime.now()

print(str(wx),format(1,'0>3'))                  # 年月日 +3位编号

print(format(now,'%Y-%m-%d'),format(1,'0>3'))   # 年月日 +3位编号

print(format(now,'%Y%m%d'),'NO'+format(1,'0>3'))   # 年月日+NO+3位编号

print(format(now,'%d'),'NO'+format(1,'0>3'))   # 日期+NO+3位编号

print(format(now,'%H%M'),'NO'+format(1,'0>3'))   # 时钟+分 +NO+3位编号

输出为:

2019-07-05 001

2019-07-05 008

20190705 NO008

05 NO008

2115 NO008

# 批量生成编号

for i in range(1,6):

        print(format(i,'0>2'))

01

02

03

04

05

# 格式化列表编号

# 对已有非编号数字进行格式化编号

nba={1:'伦纳德',2:'哈登',3:'乔治'}

for key,value in nba.items():

    print(format(key,'0>3'),value)

结果输出为:

001 伦纳德

002 哈登

003 乔治

要实现嵌套编号,如A001-A005,B001-B005,C001-005的嵌套编号。代码如下:

for in range(65,69):

    for in range(1,6):

       data=chr(i)+format(j,'0>3')+' '

       print(data,end='')

    print()

结果输出如下:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/37309.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【计算机毕业设计】092基于微信小程序二手闲置交易市场

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

探索区块链:颠覆性技术的崛起

目录 一、引言 二、区块链技术概述 三、区块链应用场景 四、区块链面临的挑战 五、区块链的未来展望 六、结语 一、引言 在数字化浪潮的推动下&#xff0c;区块链技术以其独特的去中心化、透明性和不可篡改性等特性&#xff0c;正在逐步改变我们的生活。从金融领域到供应…

基于Java的茶文化交流系统【附源码+LW】

摘 要 计算机网络发展到现在已经好几十年了&#xff0c;在理论上面已经有了很丰富的基础&#xff0c;并且在现实生活中也到处都在使用&#xff0c;可以说&#xff0c;经过几十年的发展&#xff0c;互联网技术已经把地域信息的隔阂给消除了&#xff0c;让整个世界都可以即时通话…

MySQL数据库存储引擎

MySQL数据库存储引擎 存储引擎概念 存储引擎也称为表类型 通过不同的技术比如说&#xff0c;存储机制&#xff0c;索引技巧&#xff0c;锁定水平等等&#xff0c;来提供不同的功能。 查看MySQL支持的存储引擎 show engines\G&#xff1b; 常用引擎比较 对事务有需求 innodb …

TiDB-从0到1-数据导出导入

TiDB从0到1系列 TiDB-从0到1-体系结构TiDB-从0到1-分布式存储TiDB-从0到1-分布式事务TiDB-从0到1-MVCCTiDB-从0到1-部署篇TiDB-从0到1-配置篇TiDB-从0到1-集群扩缩容 一、数据导出 TiDB中通过Dumpling来实现数据导出&#xff0c;与MySQL中的mysqldump类似&#xff0c;其属于…

JavaWeb——MySQL:navicate客户端工具简单使用

目录 1. 连接 2. 新建数据库 3. 使用数据库 4. 新建表 5.使用表 6. 导出数据库 我这里是英文版&#xff0c;没有进行汉化。 1. 连接 点击左上角Connection&#xff0c;选择MySQL&#xff0c;&#xff08;我连接的是自己计算机上的数据库&#xff09;连接名输入&#x…

抖音开放平台运营同学联系我了,非常感谢

大家好&#xff0c;我是小悟 是怎么个事呢&#xff1f; 前几天在对接抖音开放平台&#xff0c;服务商代开发小程序里面的小程序备案&#xff0c;上传备案图片接口遇到了问题&#xff0c;具体的问题可详阅【抖音开放平台&#xff0c;这谁写的&#xff0c;要扣绩效吧】。 评论…

Java编程基本功大揭秘 | 详解深入分析Java线程池源码和底层原理,掌握实战技巧【1】

详解深入分析Java线程池源码和底层原理 文章大纲引言Java线程池概念及重要性 ThreadPoolExecutor类的概述ThreadPoolExecutor类的基本功能和作用**基本功能****核心作用** ThreadPoolExecutor主要构造函数及其参数继承关系链功能介绍ThreadPoolExecutor 构造器构造器参数构造器…

破解对LabVIEW的偏见

LabVIEW被广泛应用于科学研究、工程测试和自动化控制领域&#xff0c;具有专业性和高效的开发能力。尽管有人对其存在偏见&#xff0c;认为不如C语言&#xff0c;但LabVIEW的图形化编程、强大集成能力、丰富社区支持和专业功能&#xff0c;使其在许多实际应用中表现出色。通过多…

Go语言环境安装

Go下载地址 哪个能用用哪个。 https://go.dev/ https://golang.google.cn/&#xff08;Golang官网的官方镜像&#xff09; Windows 使用.msi安装包安装 下载msi文件 安装 双击运行go1.22.4.windows-amd64.msi Next 勾选I accept the terms in the License Agreement&…

收藏 | SSL证书无效的原因和解决办法

当浏览器访问一个使用SSL证书保护的网站时&#xff0c;会检查其证书的有效性。如果发现证书存在问题&#xff0c;浏览器会显示“SSL证书无效”的警告信息&#xff0c;提醒用户存在潜在的安全风险。 “SSL证书无效”的警告可能会导致用户离开站点&#xff08;并且永远不会返回&…

MySQL高级-SQL优化-小结

文章目录 1、insert 优化2、主键优化3、order by 优化4、group by 优化5、limit 优化6、count 优化7、update 优化 1、insert 优化 insert&#xff1a;批量插入、手动控制事务、主键顺序插入 大批量插入&#xff1a;load data local infile 2、主键优化 主键长度尽量短、顺序插…

系统漏洞复现与勒索病毒

知识点&#xff1a;SMB漏洞介绍、漏洞复现流程、勒索病毒攻击与防护 渗透测试相关&#xff1a; 基本概念&#xff1a; 渗透测试就是利用我们所掌握的渗透知识&#xff0c;对网站进行一步一步的渗透&#xff0c;发现其中存在的漏洞和隐藏的风险&#xff0c;然后撰写一篇测试报…

FastAPI教程I

本文参考FastAPI教程https://fastapi.tiangolo.com/zh/tutorial 第一步 import uvicorn from fastapi import FastAPIapp FastAPI()app.get("/") async def root():return {"message": "Hello World"}if __name__ __main__:uvicorn.run(&quo…

elementUI的搭建使用过程

Element - The worlds most popular Vue UI framework 上面是elementUI的网站,进入网站 点击右上角的组件按钮 复制这段代码到你的项目终端:npm i element-ui -S 加载完成后即可使用elementUI网站中的组件,使用它们只需要复制组件下面的代码即可

Unity UGUI 实现简单两点连线功能

实现 记录鼠标点击位置为线段起点。 posStart Input.mousePosition; 创建一个Image 作为线段。 line new GameObject("line"); rtLine line.AddComponent<RectTransform>(); rtLine.pivot new Vector2(0, 0.5f); rtLine.localScale Vector3.one; img…

在操作系统中,background通常指的是运行于后台的进程或任务

在计算机中&#xff0c;"background"一词具有多种含义&#xff0c;以下是一些主要的解释和相关信息&#xff1a; 计算机视觉中的背景&#xff08;Background&#xff09;&#xff1a; 在计算机视觉中&#xff0c;background指的是图像或视频中的背景部分&#xff0c;…

IOS17闪退问题Assertion failure in void _UIGraphicsBeginImageContextWithOptions

最近项目更新到最新版本IOS17&#xff0c;发现一个以前的页面突然闪退了。原来是IOS17下&#xff0c;这个方法 UIGraphicsBeginImageContext(CGSize size) 已经被移除&#xff0c;原参数如果size为0的话&#xff0c;会出现闪退现象。 根据说明&#xff0c;上述方法已经被替换…

【shell脚本速成】python安装脚本

文章目录 案例需求应用场景解决问题脚本思路案例代码 &#x1f308;你好呀&#xff01;我是 山顶风景独好 &#x1f388;欢迎踏入我的博客世界&#xff0c;能与您在此邂逅&#xff0c;真是缘分使然&#xff01;&#x1f60a; &#x1f338;愿您在此停留的每一刻&#xff0c;都沐…

React 中 useEffect

React 中 useEffect 是副作用函数&#xff0c;副作用函数通常是处理外围系统交互的逻辑。那么 useEffect 是怎处理的呢&#xff1f;React 组件都是纯函数&#xff0c;需要将副作用的逻辑通过副作用函数抽离出去&#xff0c;也就是副作用函数是不影响函数组件的返回值的。例如&a…