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.141.2整数补零
语法:{value:0nd},其中 n 是总位数,不足的部分用 0 填充。
number = 42
# 补零到 5 位
formatted_number = f"The number is {number:05d}"
print(formatted_number)
#输出 The number is 000421.3千位分隔符
语法:{value:,},用逗号分隔千位。
population = 1234567890
# 添加千位分隔符
formatted_population = f"The world population is {population:,}"
print(formatted_population)
#输出 The world population is 1,234,567,8901.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:<width}、{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 a3、日期和时间格式化
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-053.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:224、其他格式化
4.1科学计数法
语法:{value:.ne},其中 n 是保留的小数位数。
number = 1234567890
# 科学计数法,保留两位小数
formatted_number = f"Scientific notation: {number:.2e}"
print(formatted_number)
#输出 Scientific notation: 1.23e+094.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&Matlab实现蚂蚁群算法求解最短路径问题的示例
本文主要介绍了Python&Matlab实现蚂蚁群算法求解最短路径问题的示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2022-03-03
稳扎稳打学Python之容器 可迭代对象 迭代器 生成器专题讲解
在刚开始学Python的时候,是不是经常会听到大佬们在讲容器、可迭代对象、迭代器、生成器、列表/集合/字典推导式等等众多概念,其实这不是大佬们没事就搁那扯专业术语来装B,而是这些东西都得要明白的,光知道字符串、列表等基础还是不够的,尤其是在Python的数据结构方面2021-10-10
PyTorch使用Tricks:Dropout,R-Dropout和Multi-Sample Dropout方式
这篇文章主要介绍了PyTorch使用Tricks:Dropout,R-Dropout和Multi-Sample Dropout方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-02-02
Python 3.3实现计算两个日期间隔秒数/天数的方法示例
这篇文章主要介绍了Python 3.3实现计算两个日期间隔秒数/天数的方法,结合实例形式较为详细的分析了基于Python3.3的日期时间转换与运算相关操作技巧,需要的朋友可以参考下2019-01-01


最新评论