软件下载网站建设,门户网站如何做seo,网站上传视频教程,网络服务营业部目录
旧式的 % 运算符#xff08;不推荐#xff09;
str.format() 方法
位置和关键字参数#xff1a;
格式化数字#xff1a;
f-string
表达式和函数调用#xff1a;
格式化数字#xff1a;
格式规范的微调 #xff08;核心#xff09;
对齐字符串
填充字符 …
目录
旧式的 % 运算符不推荐
str.format() 方法
位置和关键字参数
格式化数字
f-string
表达式和函数调用
格式化数字
格式规范的微调 核心
对齐字符串
填充字符
数字的零填充
数字的千位分隔符
格式化十六进制、八进制和二进制 在编程语言中格式化输出是一个非常重要的功能它允许程序员以可读和美观的方式展示信息。Python 提供了多种方法来格式化字符串控制数据的显示方式。Python 中的格式化输出主要包括旧式的 % 格式化、str.format() 方法和 f-string。
旧式的 % 运算符不推荐
% 运算符是 Python 早期版本的字符串格式化方法。它使用类似于 C 语言中 printf() 的语法。
name John
age 30
print(Hello, %s. You are %d years old. % (name, age))
# 输出Hello, John. You are 30 years old.
str.format() 方法 随着 Python 2.6 的发布str.format() 方法被引入它提供了一种更强大和灵活的字符串格式化方式。
name John
age 30
print(Hello, {}. You are {} years old..format(name, age) str.format() 方法可以指定占位符 {}而不用关心数据类型。你还可以通过位置或关键字参数来引用特定的值。
位置和关键字参数
print(Hello, {0}. You are {1} years old..format(name, age)) # 位置参数
print(Hello, {name}. You are {age} years old..format(nameAlice, age24)) # 关键字参数
格式化数字
pi 3.14159
print(Pi is approximately {0:.2f}.format(pi)) # 保留两位小数
f-string 在 Python 3.6 中引入了一种新的字符串格式化方法称为 f-string格式化字符串字面量。f-string 提供了一种更简洁和易读的方式来格式化字符串。
name John
age 30
print(fHello, {name}. You are {age} years old.)
表达式和函数调用
print(fTwenty times two is {20 * 2})
# 输出Twenty times two is 40格式化数字
pi 3.14159
print(fPi is approximately {pi:.2f})
格式规范的微调 核心
对齐字符串 字符串在输出时可以进行左对齐、右对齐和居中对齐。使用 str.format() 方法或 f-string可以通过在冒号 : 之后添加对齐符号 、 或 ^ 来实现。
代码示例
# 左对齐
print(f|{left:10}|) # 宽度为 10 的字段中左对齐
print(|{:10}|.format(left))
# 右对齐
print(f|{right:10}|) # 宽度为 10 的字段中右对齐
print(|{:10}|.format(right))
# 居中对齐
print(f|{center:^10}|) # 宽度为 10 的字段中居中对齐
print(|{:^10}|.format(center))
输出结果
|left |
|left |
| right|
| right|
| center |
| center |
填充字符 在对齐时可以指定一个字符来填充对齐后剩余的空间。填充字符被放置在对齐字符 、 或 ^ 的前面。
代码示例
# 使用星号 (*) 填充字符
print(f|{left:*10}|) # 使用 * 填充左对齐的剩余空间
print(|{:*10}|.format(left))print(f|{right:*10}|) # 使用 * 填充右对齐的剩余空间
print(|{:*10}|.format(right))print(f|{center:*^10}|) # 使用 * 填充居中对齐的剩余空间
print(|{:*^10}|.format(center))
输出结果
|left******|
|left******|
|*****right|
|*****right|
|**center**|
|**center**|
数字的零填充 对于数字类型零填充0-padding常用于保持数字的固定显示宽度。在指定宽度前添加 0 可以进行零填充。
代码示例
# 数字的零填充
number 42
print(f|{number:010}|) # 宽度为 10右对齐使用 0 填充
print(|{:010}|.format(number))# 使用格式化浮点数保留两位小数并进行零填充
float_number 3.14159
print(f|{float_number:010.2f}|) # 宽度为 10保留两位小数右对齐使用 0 填充
print(|{:010.2f}|.format(float_number))
输出结果
|0000000042|
|0000000042|
|00000003.14|
|00000003.14|
数字的千位分隔符 为了提高大数字的可读性可以在数字中添加千位分隔符。
代码示例
# 数字的千位分隔符
number 1234567890
print(f{number:,}) # 使用逗号作为千位分隔符
print({:,}.format(number))
输出结果
1,234,567,890
1,234,567,890
格式化十六进制、八进制和二进制 数字可以被格式化为十六进制、八进制或二进制表示。
代码示例
# 十六进制
number 255
print(f{number:#x}) # 输出: 0xff
print({:#x}.format(number))# 八进制
print(f{number:#o}) # 输出: 0o377
print({:#o}.format(number))# 二进制
print(f{number:#b}) # 输出: 0b11111111
print({:#b}.format(number))
输出结果
0xff
0xff
0o377
0o377
0b11111111
0b11111111