Python 程序设计入门(018)—— format() 函数的用法详解
Python 程序设计入门(018)—— format() 函数的用法详解
目录
- Python 程序设计入门(018)—— format() 函数的用法详解
- 一、format() 函数的基本格式
- 二、不提供 format_spec 参数
- 三、设置字符串的对齐方式(align)
- 四、设置 sign 选项
- 四、设置 \# 选项
- 五、设置 grouping_option 选项
- 六、设置 【0】和 width 选项
- 七、设置 【.precision】选项
- 八、设置 type 选项
- 1、字符串类型
- 2、整数类型
- 3、浮点型
一、format() 函数的基本格式
format() 函数可以对数据进行格式化处理,将值转换为由 format_spec 控制的【格式化】表示形式。format() 函数的语法格式如下:
format(value, format_spec)
说明:
(1)value:要转换的数据。
(2)format_spec:格式化解释,取决于值参数的类型;
(3)默认情况下,format_spec 是一个空字符串,通常与调用 str(value) 函数具有相同的效果。
(4)format_spec 参数的格式包括填充值、文字对齐、标志设置、格式化、类型转换、千位符等应用。格式如下:
format_spec ::=[fill[align]] [sign] [z] [#] [0] [width] [grouping_option] [.precision] [type]
其中:
fill ::= <any character>
align ::= "<" | ">" | "=" | "^"
sign ::= "+" | "-" | " "
width ::= digit+
grouping_option ::= "_" | ","
precision ::= digit+
type ::= "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X"
二、不提供 format_spec 参数
如果不提供 format_spec 参数,默认将其他格式数据转换为字符串类型,和调用 str(value) 函数的效果相同。
例如:
print("圆周率:" + format(3.14)) # 将浮点数转换为字符串
print("圆周率:" + str(3.14))运算结果为:
===================== RESTART: C:\Python\Python38\First.py =====================
圆周率:3.14
圆周率:3.14
三、设置字符串的对齐方式(align)
使用如下选项设置字符串的对齐方式:
符号 | 含义 |
---|---|
‘<’ | 强制字段在有效空间内保持左对齐(这是大多数对象的默认设置) |
‘>’ | 强制字段在有效空间内保持右对齐(这是大多数对象的默认设置) |
‘=’ | 强制将填充字符放置在符号(如果有)之后、数字之前,例如:+000000120。这种对齐选项仅对数字类型有效。当【0】紧接在字符宽度之前时,它将成为填充数字时的默认值。 |
‘^’ | 强制字段在有效空间内保持居中对齐 |
例如:
print("圆周率:" + format(3.14,"10.2f") + "|end") # 默认为右对齐
print("圆周率:" + format(3.14,">10.2f") + "|end") # 设置为右对齐
print("圆周率:" + format(3.14,"<10.2f") + "|end") # 设置为左对齐
print("圆周率:" + format(3.14,"^10.2f") + "|end") # 设置为居中对齐
print("圆周率:" + format(3.14,"A>10.2f") + "|end") # 设置为右对齐,前面填充A
print("圆周率:" + format(-3.14,"A>10.2f") + "|end") # 设置为右对齐,前面填充A(A位于-符号之前)
print("圆周率:" + format(-3.14,"A=10.2f") + "|end") # 数字前面填充A(A位于-符号之后)运算结果为:
===================== RESTART: C:\Python\Python38\First.py =====================
圆周率: 3.14|end
圆周率: 3.14|end
圆周率:3.14 |end
圆周率: 3.14 |end
圆周率:AAAAAA3.14|end
圆周率:AAAAA-3.14|end
圆周率:-AAAAA3.14|end
四、设置 sign 选项
sign 选项只对数字类型有效,sign 选项的含义如下:
符号 | 含义 |
---|---|
‘+’ | 表示正负数均可使用符号 |
‘-’ | 指示符号只被用于负数(这是默认行为) |
’ ’ | 表示正数应使用前导空格,负数使用负号 |
例如:
print("圆周率:" + format(3.14,"+") + "|end") # 正数前面加+号
print("圆周率:" + format(-3.14,"+") + "|end") # 负数前面加-号
print("圆周率:" + format(3.14,"-") + "|end") # 正数前面不加+号
print("圆周率:" + format(-3.14,"-") + "|end") # 负数前面加+号
print("圆周率:" + format(3.14," ") + "|end") # 正数前面加空格
print("圆周率:" + format(-3.14," ") + "|end") # 负数前面加-号运算结果为:
===================== RESTART: C:\Python\Python38\First.py =====================
圆周率:+3.14|end
圆周率:-3.14|end
圆周率:3.14|end
圆周率:-3.14|end
圆周率: 3.14|end
圆周率:-3.14|end
四、设置 # 选项
# 选项仅对整型、浮点型和负数型有效。# 选项的含义如下:
符号 | 含义 |
---|---|
# | # 选项仅对整型、浮点型和负数型有效。 对于整数,当使用二进制、八进制或十六进制输出时,该选项会在输出值中添加相应的前缀:0b、0o、0x 或0X。 对于浮点型和负数型,即使后面没有数字,替换形式会导致转换结果始终包含小数点字符。 对于 g 和 G 的科学计数法小数点的转换,不会从结果中删除尾随零。 |
例如:
print("以下为整型数据的输出:")
print(format(11) + "|end") # 输出结果为十进制
print(format(11,"#") + "|end") # 输出结果为十进制
print(format(11,"b") + "|end") # 输出结果为二进制
print(format(11,"#b") + "|end") # 输出结果为二进制(输入0b)
print(format(11,"o") + "|end") # 输出结果为八进制
print(format(11,"#o") + "|end") # 输出结果为八进制(输入0o)
print(format(11,"x") + "|end") # 输出结果为十六进制
print(format(11,"#x") + "|end") # 输出结果为十六进制(输入0x)
print(format(11,"X") + "|end") # 输出结果为十六进制
print(format(11,"#X") + "|end") # 输出结果为十六进制(输入0X)
print("以下为浮点型数据的输出:")
print(format(11.8,"10.0f") + "|end") # 无小数点
print(format(11.8,"#10.0f") + "|end") # 有小数点
print(format(-11.8,"#10.0F") + "|end") 运算结果为:
===================== RESTART: C:\Python\Python38\First.py =====================
以下为整型数据的输出:
11|end
11|end
1011|end
0b1011|end
13|end
0o13|end
b|end
0xb|end
B|end
0XB|end
以下为浮点型数据的输出:12|end12.|end-12.|end
五、设置 grouping_option 选项
grouping_option 选项的含义如下:
符号 | 含义 |
---|---|
, | 表示使用逗号作为千位分隔符。 |
_ | 对浮点型和整型使用下划线作为千位分隔符。 对于整型 b、o、x 和 x,将每4位插入下划线。 |
例如:
print(format(12345678) + "|end") # 不使用千位分隔符
print(format(12345678,",") + "|end") # 使用逗号作为千位分隔符
print(format(12345678.2541,",") + "|end") # 使用逗号作为千位分隔符
print(format(12345678.2541,"_") + "|end") # 使用下划线作为千位分隔符
print(format(12345678,"_b") + "|end") # 使用逗号作为千位分隔符运算结果为:
===================== RESTART: C:\Python\Python38\First.py =====================
12345678|end
12,345,678|end
12,345,678.2541|end
12_345_678.2541|end
1011_1100_0110_0001_0100_1110|end
六、设置 【0】和 width 选项
[0] 和 width 选项的含义如下:
符号 | 含义 |
---|---|
[0] width | width:定义字段总宽度,包括任何前缀、分隔符和其他格式字符。如果未指定,则字段宽度将由输出内容决定。 如果未指定对齐方式,则在宽度字段前面加一个零(0),相当于对齐类型 sign 为 = 的填充字符 0。 |
例如:
print(format(3.14) + "|end") # 不指定宽度
print(format(3.14,"10") + "|end") # 指定宽度为10,默认右对齐
print(format(3.14,"<10") + "|end") # 指定宽度为10,设置左对齐
print(format(3.14,"010") + "|end") # 指定宽度为10,左边用0填充运算结果为:
===================== RESTART: C:\Python\Python38\First.py =====================
3.14|end3.14|end
3.14 |end
0000003.14|end
七、设置 【.precision】选项
[.precision] 选项的含义如下:
符号 | 含义 |
---|---|
[.precision] | 设置浮点数的精度,是一个十进制整数。 表示浮点类型 f 的小数点之后应显示多少位数字。 表示科学计数法小数类型 g 的小数点前和后应显示多少位数。 |
例如:
print(format(3.1415926) + "|end") # 不指定宽度
print(format(3.1415926,"10.1f") + "|end") # 指定宽度为10,小数位数1
print(format(3.1415926,"10.2f") + "|end") # 指定宽度为10,小数位数2
print(format(3.1415926,".1f") + "|end") # 不指定宽度,小数位数1
print(format(3.1415926,".2f") + "|end") # 不指定宽度,小数位数2运算结果为:
===================== RESTART: C:\Python\Python38\First.py =====================
3.1415926|end3.1|end3.14|end
3.1|end
3.14|end
八、设置 type 选项
type 选项针对不同的数据类型有如下格式:
1、字符串类型
type 选项及含义如下:
符号 | 含义 |
---|---|
s | 字符串格式。 |
None | 和 s 一样。 |
例如:
print(format("Chinese","0<10") + "|end") # 左对齐,右侧用0填充
print(format("Chinese","0>10") + "|end") # 右对齐,左侧用0填充
print(format("Chinese","0^10") + "|end") # 居中对齐,左右两侧用0填充
print(format("Chinese","<10.3") + "|end") # 左对齐,截取左端3个字符
print(format("Chinese",">10.3") + "|end") # 右对齐,截取左端3个字符
print(format("Chinese","^10.3") + "|end") # 居中对齐,截取左端3个字符运算结果为:
===================== RESTART: C:\Python\Python38\First.py =====================
Chinese000|end
000Chinese|end
0Chinese00|end
Chi |endChi|endChi |end
2、整数类型
type 选项及含义如下:
符号 | 含义 |
---|---|
b | 二进制格式 |
c | 将字符在打印之前将整数转换为相应的 unicode 字符 |
d | 十进制整数 |
o | 八进制格式 |
x | 十六进制格式,使用小写字母表示 9 以上的数码 |
X | 十六进制格式,使用大写字母表示 9 以上的数码 |
n | 与 d 相似,不同之处在于它会使用当前区域设置来插入适当的数字分隔字符 |
例如:
print(format(1234567,"b") + "|end") # 二进制
print(format(1234567,"o") + "|end") # 八进制
print(format(1234567,"d") + "|end") # 十进制
print(format(1234567,"n") + "|end") # 十进制
print(format(1234567,"x") + "|end") # 十六进制
print(format(1234567,"X") + "|end") # 十六进制
print(format(4567,"c") + "|end") # 打印Unicode字符运算结果为:
===================== RESTART: C:\Python\Python38\First.py =====================
100101101011010000111|end
4553207|end
1234567|end
1234567|end
12d687|end
12D687|end
ᇗ|end
3、浮点型
type 选项及含义如下:
符号 | 含义 |
---|---|
e | 科学计数法。 对于一个给定的精度 p,将数字格式化为以字母 e 分隔系数和指数的科学计数法形式。 系数在小数点之前有一位,之后有 p 位,总计 p + 1 个有效数位。 如未指定精度,则会对 float 采用小数点之后 6 位精度,而对 Decimal 则显示所有系数位。 如果小数点之后没有数位,则小数点也会被略去,除非使用了 # 选项。 |
E | 科学计数法。 与 e 相似,不同之处在于它使用大写字母 E 作为分隔字符。 |
f | 定点表示法。 对于一个给定的精度 p ,将数字格式化为在小数点之后恰好有 p 位的小数形式。 如未指定精度,则会对 float 采用小数点之后 6 位精度,而对 Decimal 则使用大到足够显示所有系数位的精度。如果小数点之后没有数位,则小数点也会被略去,除非使用了 # 选项。 |
g | (1)常规格式。 对于给定精度 p >= 1,这会将数值舍入到 p 个有效数位,再将结果以定点表示法或科学计数法进行格式化,具体取决于其值的大小。 精度 0 会被视为等价于精度1。 (2)如未指定精度,会对 float 采用 6 个有效数位的精度。 对于 Decimal,结果的系数会沿用原值的系数数位;对于绝对值小于 1e-6 的值以及最小有效数位的位值大于 1 的数值将会使用科学计数法,在其他情况下则会使用定点表示法即科学计数法。 |
% | 百分比。 将数字乘以 100 并显示为定点(f)格式,后面带一个百分号。 |
例如:
print("以下为科学计数法表示:")
print(format(1234567.123,"e") + "|end") # 6位小数
print(format(1234567.123,"15.10e") + "|end")# 10位小数
print(format(1234567.123,"15.10E") + "|end")# 10位小数,字母E大写
print(format(1234567.123,"15.0e") + "|end") # 0位小数
print(format(1234567.123,"#15.0e") + "|end")# 0位小数
print("以下为定点数表示:")
print(format(1234567.123,"#15.10f") + "|end")# 10位小数
print(format(1234567.123,"15.0f") + "|end") # 0位小数
print(format(1234567.123,"#15.0f") + "|end") # 0位小数
print(format(0.123,".2%") + "|end") # 百分比运算结果为:
===================== RESTART: C:\Python\Python38\First.py =====================
以下为科学计数法表示:
1.234567e+06|end
1.2345671230e+06|end
1.2345671230E+06|end1e+06|end1.e+06|end
以下为定点数表示:
1234567.1229999999|end1234567|end1234567.|end
12.30%|end
相关文章:
Python 程序设计入门(018)—— format() 函数的用法详解
Python 程序设计入门(018)—— format() 函数的用法详解 目录 Python 程序设计入门(018)—— format() 函数的用法详解一、format() 函数的基本格式二、不提供 format_spec 参数三、设置字符串的对齐方式(align&#x…...
演进式架构
演进能力是一种元特征和保护其他所有架构特征的架构封装器IEEE 的软件架构定义中的41 视图模型。它关注不同角色的不同视角,将整个系统划分成了逻辑视图、开发视图、进程视图和物理视图架构师确定了可审计性、数据、安全性、性能、合法性和伸缩性是该应用的关键架构…...

OCP China Day 2023:五大社区齐聚,加速开源开放创新与落地
8月10日,2023年开放计算中国社区技术峰会(OCP China Day 2023)在北京举行。智慧时代,计算多元化、应用多样化、技术复杂化正驱动数据中心新一轮变革,开源开放社区已成为推动数据中心持续创新的重要力量,通过…...

【Linux】进程间通信之管道
【Linux】进程间通信之管道 进程间通信进程间通信目的进程间通信的方式 管道(内核维护的缓冲区)匿名管道(用于父子间进程间通信)简单使用阻塞状态读写特征非阻塞状态读写特征 匿名管道特点命名管道 匿名管道与命名管道的区别 进程…...
记录一个正则表达式
正则表达式要求如下: 至少 8 个字符; 至少包含一个小写英文字母; 至少包含一个大写英文字母; 至少包含一个数字; 至少包含一个特殊字符,特殊字符为:“!#$%^&*()-” 中的一个; 不包含2个连续…...

用于全局复根和极点查找算法的自适应网格生成器(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
修改Linux中SSH的端口
文章目录 修改Linux中SSH的端口Linux中默认的ssh端口关闭SELinux测试新端口 修改Linux中SSH的端口 Linux中默认的ssh端口 使用root用户操作 修改前先备份ssh_config cp /etc/ssh/sshd_config /etc/ssh/sshd_config_date "%Y%m%d%H%M%S"修改配置文件,找…...

Ansible从入门到精通【六】
大家好,我是早九晚十二,目前是做运维相关的工作。写博客是为了积累,希望大家一起进步! 我的主页:早九晚十二 专栏名称:Ansible从入门到精通 立志成为ansible大佬 ansible templates 模板(templa…...

国企的大数据岗位方向的分析
现如今大数据已无所不在,并且正被越来越广泛的被应用到历史、政治、科学、经济、商业甚至渗透到我们生活的方方面面中,获取的渠道也越来越便利。 今天我们就来聊一聊“大屏应用”,说到大屏就一定要聊到数据可视化,现如今…...

【MySQL--->数据类型】
文章目录 [TOC](文章目录) 一、数据类型分类二、整型类型三、bit(位)类型四、float类型五、decimal类型六、char和varchar类型1.char类型2.varchar3.char与varchar的区别 七、日期与时间类型八、enum和set 一、数据类型分类 二、整型类型 数值类型有数据存储上限,而且每个类型都…...

Ceph部署
一、存储基础 1)单机存储设备 ●DAS(直接附加存储,是直接接到计算机的主板总线上去的存储) IDE、SATA、SCSI、SAS、USB 接口的磁盘 所谓接口就是一种存储设备驱动下的磁盘设备,提供块级别的存储 ●NAS(…...
打工日记-Vue3+Ts二次封装el-table
el-table是elementUI中的表格组件,在后台把管理系统中,也是一个比较常用的组件,目前有一个比较好的开源项目ProTable,这个项目做的很好,集成了搜索,表格,分页器功能很强大。但在我的实际使用中也…...

funbox3靶场渗透笔记
funbox3靶场渗透笔记 靶机地址 https://download.vulnhub.com/funbox/Funbox3.ova 信息收集 fscan找主机ip192.168.177.199 .\fscan64.exe -h 192.168.177.0/24___ _/ _ \ ___ ___ _ __ __ _ ___| | __/ /_\/____/ __|/ __| __/ _ |/ …...

springcloud3 hystrix实现服务降级,熔断,限流以及案例配置
一 hystrix的作用 1.1 降级,熔断,限流 1.服务降级: A方案出现问题,切换到兜底方案B; 2.服务熔断:触发规则,出现断电限闸,服务降级 3.服务限流:限制请求数量。 二 案例…...

ComponentOne Studio ASP.NET MVC Crack
ComponentOne Studio ASP.NET MVC Crack FlexReport增强功能 添加了对在Microsoft Windows上部署Microsoft Azure的支持。 添加了对显示嵌入字体的支持。 .NET标准版的经典C1PDF(Beta版) GrapeCity的经典C1Pdf库现在提供了基于Microsoft.NET标准的版本。在任何.NET应用程序(包括…...
OPENCV C++(十一)
鼠标响应函数 //鼠标响应函数 void on_mouse(int EVENT, int x, int y, int flags, void* userdata) {Mat hh;hh *(Mat*)userdata;switch (EVENT){case EVENT_LBUTTONDOWN:{vP.x x;vP.y y;drawMarker(hh, vP, Scalar(255, 255, 255));//circle(hh, vP, 4, cvScalar(255, 255…...
ES使用心得
客户端 Transport Client已经快要废弃了,官方推荐使用High Level REST Client。 常用命令 启停 systemctl start elasticsearch systemctl stop elasticsearch节点状态 curl http://myservice1:9200/_cat/nodes?vip heap.percent ram.percent cpu l…...

Stable Diffusion - 幻想 (Fantasy) 风格与糖果世界 (Candy Land) 人物提示词配置
欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/132212193 图像由 DreamShaper8 模型生成,融合糖果世界。 幻想 (Fantasy) 风格图像是一种以想象力为主导的艺术形式,创造了…...
部署K8S集群
目录 一、环境搭建 1、准备环境 2、安装master节点 3、安装k8s-master上的node 4、安装配置k8s-node1节点 5、安装k8s-node2节点 6、为所有node节点配置flannel网络 7、配置docker开启加载防火墙规则允许转发数据 二、k8s常用资源管理 1、创建一个pod 2、pod管理 一、…...

在时间和频率域中准确地测量太阳黑子活动及使用信号处理工具箱(TM)生成广泛的波形,如正弦波、方波等研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...

Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...

【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...
#Uniapp篇:chrome调试unapp适配
chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...

三分算法与DeepSeek辅助证明是单峰函数
前置 单峰函数有唯一的最大值,最大值左侧的数值严格单调递增,最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值,最小值左侧的数值严格单调递减,最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...

nnUNet V2修改网络——暴力替换网络为UNet++
更换前,要用nnUNet V2跑通所用数据集,证明nnUNet V2、数据集、运行环境等没有问题 阅读nnU-Net V2 的 U-Net结构,初步了解要修改的网络,知己知彼,修改起来才能游刃有余。 U-Net存在两个局限,一是网络的最佳深度因应用场景而异,这取决于任务的难度和可用于训练的标注数…...
k8s从入门到放弃之HPA控制器
k8s从入门到放弃之HPA控制器 Kubernetes中的Horizontal Pod Autoscaler (HPA)控制器是一种用于自动扩展部署、副本集或复制控制器中Pod数量的机制。它可以根据观察到的CPU利用率(或其他自定义指标)来调整这些对象的规模,从而帮助应用程序在负…...

Android写一个捕获全局异常的工具类
项目开发和实际运行过程中难免会遇到异常发生,系统提供了一个可以捕获全局异常的工具Uncaughtexceptionhandler,它是Thread的子类(就是package java.lang;里线程的Thread)。本文将利用它将设备信息、报错信息以及错误的发生时间都…...