Python中format的常见用法

news/2024/9/22 23:39:39/

一、填充

1、按默认顺序填充

python">name = "Alice"
age = 25
print("My name is {} and I am {} years old.".format(name, age))

输出:My name is Alice and I am 25 years old.

2、指定位置

python">name = "Bob"
age = 30
print("My name is {1} and I am {0} years old.".format(age, name))

输出:My name is Bob and I am 30 years old.

3、通过key来填充

python">name = "Charlie"
age = 35
print("My name is {name} and I am {age} years old.".format(name=name, age=age))

输出:My name is Charlie and I am 35 years old.

4、通过下标填充

python">names=['Alice', 9]
print("My name is {name[0]} and I am {name[1]} years old.".format(name=names))
print("My name is {0[0]} and I am {0[1]} years old.".format(names))

输出:
My name is Alice and I am 9 years old.
My name is Alice and I am 9 years old.

5、通过字典

python">table = {'Google': 1, 'Runoob': 2, 'Taobao': 3}
print('Runoob: {0[Runoob]:d}; Google: {0[Google]:d}; Taobao: {0[Taobao]:d}'.format(table))

输出:Runoob: 2; Google: 1; Taobao: 3

6、通过对象的属性

python">class
Names():name1='Kevin'name2='Tom'
print('hello {names.name1} i am {names.name2}'.format(names=Names))

输出结果为:hello Kevin i am Tom

二、格式化数字

b、d、o、x分别是二进制、十进制、八进制、十六进制。

数字 格式 输出 描述
3.1415926 {:.2f} 3.14 保留小数点后两位
3.1415926 {:+.2f} 3.14 带符号保留小数点后两位
-1 {:+.2f} -1 带符号保留小数点后两位
2.71828 {:.0f} 3 不带小数
1000000 {:,} 1,000,000 以逗号分隔的数字格式
0.25 {:.2%} 25.00% 百分比格式
1000000000 {:.2e} 1.00E+09 指数记法
25 {0:b} 11001 转换成二进制
25 {0:d} 25 转换成十进制
25 {0:o} 31 转换成八进制
25 {0:x} 19 转换成十六进制

示例:

python">num = 3.14159
print("The value of pi is approximately {:.2f}.".format(num))

输出:The value of pi is approximately 3.14.

python">num = 3.14159
print("num1 {0:.2f}, num2 {1:.3f}.".format(num, num))

输出:num1 3.14, num2 3.142.

三、对齐与填充

数字 格式 输出 描述
5 {:0>2} 05 数字补零 (填充左边, 宽度为2)
5 {:x<4} 5xxx 数字补x (填充右边, 宽度为4)
10 {:x^4} x10x 数字补x (填充两边, 宽度为4)
13 {:10} 13 右对齐 (默认, 宽度为10)
13 {:<10} 13 左对齐 (宽度为10)
13 {:^10} 13 中间对齐 (宽度为10)

示例:{:<10} 表示左对齐,占用10个字符的宽度

python">name = "Alice"
print("Name: {} Age: {}".format(name, 25))
print("Name: {:<6} Age: {}".format(name, 25))
print("Name: {:10} Age: {}".format(name, 25))
print("Name: {:<10} Age: {}".format(name, 25))
输出结果为:
Name: Alice Age: 25
Name: Alice  Age: 25
Name: Alice      Age: 25
Name: Alice      Age: 25
python">num1 = 1
print('{0:2d}'.format(num1))
print('{0:3d}'.format(num1))
print('{0:4d}'.format(num1))

输出:

111   
python">num1 = 1
print('{0:2f}'.format(num1))
print('{0:3.2f}'.format(num1))
print('{0:5.2f}'.format(num1))

输出结果为:

1.000000
1.001.00
python">str1 = 'hello'
num1 = 1
print('{0}==>{1}'.format(str1, num1))
print('{0} ==> {1}'.format(str1, num1))
print('{0:5} ==> {1:1d}'.format(str1, num1))
print('{0:6} ==> {1:2d}'.format(str1, num1))
print('{0:7} ==> {1:3d}'.format(str1, num1))
print('{0:8} ==> {1:4d}'.format(str1, num1))
print('{0:9} ==> {1:5d}'.format(str1, num1))

输出:

hello==>1
hello ==> 1
hello ==> 1
hello  ==>  1
hello   ==>   1
hello    ==>    1
hello     ==>     1

四、格式化日期和时间

python">from datetime import datetime
now = datetime.now()
print("Current date and time: {:%Y-%m-%d %H:%M:%S}".format(now))

输出:Current date and time: 2022-01-01 12:00:00

五、使用 f-string

Python 3.6及以上版本支持使用 f-string 来格式化字符串

python">name = "Alice"
age = 25
print(f"My name is {name} and I'm {age} years old.")

输出:My name is Alice and I’m 25 years old.

六、旧式字符串格式化

python">import math
print('常量 PI 的值近似为:%5.3f。' % math.pi)

输出:常量 PI 的值近似为:3.142。


http://www.ppmy.cn/news/1443774.html

相关文章

dremio数据湖sql行列转换及转置

1、行转列 (扁平化) 数据准备 表 aa 1.1 cross join unnest 在Dremio中&#xff0c;UNNEST 函数用于将数组或复杂类型的列&#xff08;如JSON、Map或Array类型&#xff09;中的值“炸裂”&#xff08;分解&#xff09;成多行. with aa as ( select 上海 as city, ARRAY[浦东…

计算机系统概述试题

01&#xff0e;完整的计算机系统应包括()。 A.运算器、存储器、控制器 B.外部设备和主机 C.主机和应用程序 D.配套的硬件设备和软件系统 02.冯诺依曼机的基本工作方式是()。 A.控制流驱动方式 B.多指令多数据流方式 C.微程序控制方式 D.数据流驱动方式 03.下列()是冯诺依曼机…

Kafka(十二)Streams

目录 Streams1 什么式是流式处理2 流式处理的相关概念2.1 拓扑2.2 时间2.2.1 输入时间2.2.2 输出时间 2.3 状态2.4 流和表2.5 时间窗口2.5.1 测试时间窗口 2.6 处理保证 3 流式处理设计模式3.1 单事件处理3.2 使用本地状态3.3 多阶段处理和重分区3.4 使用外部查找&#xff1a;流…

HTML5 常见的语义标记(布局)

HTML5 常见的语义标记(布局) <header> 显示网站名称、主题或者主要信息 <nav> 网站的连接菜单 <aside> 用于侧边栏 <main> 表示页面的主要显示内容, 页面有且只有一个, 不应该被任何其他结构标签包含, 不能是以下元素的后代: section/nav/footer/h…

回归(Regression)

回归&#xff08;Regression&#xff09;在统计学和机器学习中是一种预测建模技术&#xff0c;它研究的是因变量&#xff08;目标变量&#xff09;和自变量&#xff08;特征&#xff09;之间的关系。回归分析的目的是建立一个数学模型&#xff0c;这个模型能够基于一个或多个自…

java-Arrays

一、Arrays的概述 Arrays是操作数组的工具类 二、Arrays的常用方法 Arrays的常用方法基本上都被static静态修饰&#xff0c;因此在使用这些方法时&#xff0c;可以直接通过类名调用 1.toString 语法&#xff1a;Arrays.toString(数组) 用于将数组的元素转换为一个字符串&a…

嵌入式UBoot如何跳转Kernel—uboot与linux交界分析

不知道你是否有这种感觉,就是学习了Uboot,学习了kernel,学习了安卓。但是有时候总感觉是各自孤立的,将三者连续不起来? • 不知道你是否在做启动方案的时候,在宏观上知道了整个启动链路流程,但是却在汪洋的代码中迷了路? 那么这篇文章必定对你有点用处。 如果没有,那请…

使用 Docker 自建一款怀旧游戏之 - 超级马里奥

1&#xff09;超级马里奥 简介 《 超级马里奥 》&#xff08;Super Mario&#xff09;是任天堂公司创造的一款经典游戏系列&#xff0c;是世界上最知名、最成功的游戏之一。这个系列由日本设计师宫本茂于 1985 年创造&#xff0c;最初的游戏名为《超级马里奥兄弟》&#xff08;…