Python中f-string字符串格式化的使用
一、基本用法
name = "alice"
age = 25
# 使用 f-string 嵌入变量
message = f"my name is {name} and i am {age} years old."
print(message)
# 输出 my name is alice and i am 25 years old.
二、嵌入表达式
a = 5
b = 10
# 使用 f-string 嵌入表达式
result = f"the sum of {a} and {b} is {a + b}."
print(result)
# 输出 the sum of 5 and 10 is 15.
三、格式化输出
1、数字格式化
1.1浮点数格式化
语法:{value:.nf},其中n是保留的小数位数。
pi = 3.141592653589793
# 保留两位小数
formatted_pi = f"pi rounded to 2 decimal places: {pi:.2f}"
print(formatted_pi)
#输出 pi rounded to 2 decimal places: 3.14
1.2整数补零
语法:{value:0nd},其中n是总位数,不足的部分用0填充。
number = 42
# 补零到 5 位
formatted_number = f"the number is {number:05d}"
print(formatted_number)
#输出 the number is 00042
1.3千位分隔符
语法:{value:,},用逗号分隔千位。
population = 1234567890
# 添加千位分隔符
formatted_population = f"the world population is {population:,}"
print(formatted_population)
#输出 the world population is 1,234,567,890
1.4百分比格式化
语法:{value:.n%},其中n是保留的小数位数。
ratio = 0.4567
# 格式化为百分比,保留两位小数
formatted_ratio = f"the ratio is {ratio:.2%}"
print(formatted_ratio)
#输出 the ratio is 45.67%
2、字符串格式化
2.1对齐和填充
语法:{value:width}或{value:{value:>width}、{value:^width},其中width是总宽度。
<:左对齐>:右对齐^:居中对齐
name = "alice"
# 左对齐,总宽度为 10,用 ' ' 填充
formatted_name = f"name: {name:<10}!"
print(formatted_name)
# 右对齐,总宽度为 10,用 '*' 填充
formatted_name = f"name: {name:*>10}!"
print(formatted_name)
# 居中对齐,总宽度为 10,用 '=' 填充
formatted_name = f"name: {name:=^10}!"
print(formatted_name)
# 输出
name: alice !
name: *****alice!
name: ==alice===!
2.2截断字符串
语法:{value:.n},其中n是保留的字符数。
long_text = "this is a very long string."
# 截断为前 10 个字符
formatted_text = f"truncated: {long_text:.10}"
print(formatted_text)
#输出 truncated: this is a
3、日期和时间格式化
3.1格式化日期
使用strftime方法结合f-string格式化日期。
from datetime import datetime
now = datetime.now()
# 格式化日期
formatted_date = f"today is {now:%y-%m-%d}"
print(formatted_date)
#输出 today is 2023-10-05
3.2格式化时间
from datetime import datetime
now = datetime.now()
# 格式化时间
formatted_time = f"the time is {now:%h:%m:%s}"
print(formatted_time)
#输出 the time is 14:35:22
4、其他格式化
4.1科学计数法
语法:{value:.ne},其中n是保留的小数位数。
number = 1234567890
# 科学计数法,保留两位小数
formatted_number = f"scientific notation: {number:.2e}"
print(formatted_number)
#输出 scientific notation: 1.23e+09
4.2二进制、八进制、十六进制
语法:
- 二进制:
{value:b} - 八进制:
{value:o} - 十六进制:
{value:x}(小写)或{value:x}(大写)
number = 255
# 二进制
binary = f"binary: {number:b}"
print(binary)
# 八进制
octal = f"octal: {number:o}"
print(octal)
# 十六进制
hexadecimal = f"hexadecimal: {number:x}"
print(hexadecimal)
#输出
binary: 11111111
octal: 377
hexadecimal: ff
四、调用函数和方法
name = "alice"
# 调用字符串的 title() 方法
formatted_name = f"hello, {name.title()}!"
print(formatted_name)
# 输出 hello, alice!
字符串title方法:
将所有单词的首字母大写包括像it's中的's
与capitalize() 的区别:capitalize() 仅将整个字符串的第一个单词的首字母大写,其余字母小写。
五、使用字典和列表
person = {"name": "bob", "age": 30}
# 访问字典中的值
info = f"{person['name']} is {person['age']} years old."
print(info)
numbers = [1, 2, 3, 4, 5]
# 访问列表中的元素
summary = f"the first number is {numbers[0]} and the last number is {numbers[-1]}."
print(summary)
# 输出
bob is 30 years old.
the first number is 1 and the last number is 5.
六、多行f-string
name = "charlie"
age = 35
# 多行 f-string
message = f"""
name: {name}
age: {age}
"""
print(message)
# 输出
name: charlie
age: 35
七、嵌套f-string
a = 5
b = 10
# 嵌套 f-string
result = f"the sum of {a} and {b} is {f'{a + b}'}."
print(result)
# 输出 the sum of 5 and 10 is 15.
到此这篇关于python中f-string字符串格式化的使用的文章就介绍到这了,更多相关python f-string字符串格式化内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
推荐阅读
-
一文教你Python如何快速精准抓取网页数据
本文将使用requests和beautifulsoup这两个流行的库来实现。1.准备工作首先安装必要的库:pipinst...
-
使用Python实现IP地址和端口状态检测与监控
-
基于Python打造一个智能单词管理神器
-
Python实现微信自动锁定工具
-
使用Python创建一个功能完整的Windows风格计算器程序
python实现windows系统计算器程序(含高级功能)下面我将介绍如何使用python创建一个功能完整的windows风格计...
-
Python开发文字版随机事件游戏的项目实例
随机事件游戏是一种通过生成不可预测的事件来增强游戏体验的类型。在这类游戏中,玩家必须应对随机发生的情况,这些情况可能会影响他们的资...
-
使用Pandas实现Excel中的数据透视表的项目实践
引言在数据分析中,数据透视表是一种非常强大的工具,它可以帮助我们快速汇总、分析和可视化大量数据。虽然excel提供了内置的数据透...
-
Pandas利用主表更新子表指定列小技巧
一、前言工作的小技巧,利用pandas读取主表和子表,利用主表的指定列,更新子表的指定列。案例:主表:uidname0...
-
Pandas中统计汇总可视化函数plot()的使用
-
Python中tensorflow的argmax()函数的使用小结
在tensorflow中,argmax()函数是一个非常重要的操作,它用于返回给定张量(tensor)沿指定轴的最大值的索引。这个...
