Python中f-string字符串格式化的使用

 更新时间:2025年05月07日 09:48:07   作者:shyoutou  
本文介绍了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:<width}{value:>width}{value:^width},其中 width 是总宽度。

  1. <:左对齐
  2. >:右对齐
  3. ^:居中对齐
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&Matlab实现蚂蚁群算法求解最短路径问题的示例

    Python&Matlab实现蚂蚁群算法求解最短路径问题的示例

    本文主要介绍了Python&Matlab实现蚂蚁群算法求解最短路径问题的示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • Python脚本实现虾米网签到功能

    Python脚本实现虾米网签到功能

    这篇文章主要介绍了Python脚本实现虾米网签到功能的方法,涉及Python调用URL模块实现数据传输与处理的相关技巧,需要的朋友可以参考下
    2016-04-04
  • 稳扎稳打学Python之容器 可迭代对象 迭代器 生成器专题讲解

    稳扎稳打学Python之容器 可迭代对象 迭代器 生成器专题讲解

    在刚开始学Python的时候,是不是经常会听到大佬们在讲容器、可迭代对象、迭代器、生成器、列表/集合/字典推导式等等众多概念,其实这不是大佬们没事就搁那扯专业术语来装B,而是这些东西都得要明白的,光知道字符串、列表等基础还是不够的,尤其是在Python的数据结构方面
    2021-10-10
  • Python实现对桌面进行实时捕捉画面的方法详解

    Python实现对桌面进行实时捕捉画面的方法详解

    最近在研究目标检测方面的小东西,需要到对桌面进行实时捕捉画面。所以本文来用Python实现简单的对桌面进行实时捕捉画面,感兴趣的可以了解一下
    2023-01-01
  • python教程命名元组示例分析

    python教程命名元组示例分析

    这篇文章是python教程篇,主要为大家介绍了Python中命名元组的示例分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-09-09
  • Django框架模板用法入门教程

    Django框架模板用法入门教程

    这篇文章主要介绍了Django框架模板用法,结合简单入门实例形式分析了Django框架模板标签、过滤器、模板继承等概念与使用技巧,需要的朋友可以参考下
    2019-11-11
  • PyTorch使用Tricks:Dropout,R-Dropout和Multi-Sample Dropout方式

    PyTorch使用Tricks:Dropout,R-Dropout和Multi-Sample Dropout方式

    这篇文章主要介绍了PyTorch使用Tricks:Dropout,R-Dropout和Multi-Sample Dropout方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • 浅析Python中yield关键词的作用与用法

    浅析Python中yield关键词的作用与用法

    Python中关键字yield的作用是什么?用来干什么的?这篇文章就给大家详细介绍了Python中yield关键词的作用与用法,文中通过示例代码介绍的很详细,对大家学习python具有一定的参考借鉴价值,有需要的朋友们下面来一起学习学习吧。
    2016-11-11
  • Python 3.3实现计算两个日期间隔秒数/天数的方法示例

    Python 3.3实现计算两个日期间隔秒数/天数的方法示例

    这篇文章主要介绍了Python 3.3实现计算两个日期间隔秒数/天数的方法,结合实例形式较为详细的分析了基于Python3.3的日期时间转换与运算相关操作技巧,需要的朋友可以参考下
    2019-01-01
  • python深度优先搜索和广度优先搜索

    python深度优先搜索和广度优先搜索

    这篇文章主要介绍了python实现图的深度优先搜索和广度优先搜索相关知识点,对此有兴趣的朋友学习下。
    2018-02-02

最新评论