Python 字符串格式化的方式有哪些?

本文涉及的产品
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: 这篇文章主要介绍了Python的字符串格式化方法,包括:1. `%` 操作符,如 `%s`, `%d`, `%f` 用于基本的变量插入和类型转换。2. `str.format()` 方法,利用 `{}` 占位符和位置或关键字参数。3. f-strings (Python 3.6+),直接在字符串前加 `f` 并在花括号内嵌入变量。4. `string.Template` 模块,使用 `$` 符号进行模板替换。5. `str.format_map()` 方法,接受字典替换占位符。文章强调f-strings在新代码中的推荐使用,因其简洁和可读性。

一、前言

面对 Python 灵活的字符串处理,作为一个 Javaer,往往有时候会不知道所措,看到这样的代码

python

复制代码

f" {rsp.text}"

或者这样的代码

python

复制代码

print("My name is %s and I am %d years old." % (name, age))

往往就会比较不清楚,所以就专门针对这种情况,整理一下

二、常用的字符串 format

在Python中,有几种常用的字符串格式化方法。下面是详细列出的一些常见字符串格式化方式:

  1. 传统的字符串格式化
  • %操作符:使用占位符将变量插入字符串中。
  • %s:字符串占位符。
  • %d:整数占位符。
  • %f:浮点数占位符。
  1. 示例:

python

  1. 复制代码
name = "Alice"
age = 25
print("My name is %s and I am %d years old." % (name, age))
  1. 老版本的Python中使用的一种字符串格式化方法,类似于传统的字符串格式化,但使用%操作符。不推荐在新的代码中使用,但在一些旧代码中可能仍然会遇到。
  2. 字符串的format()方法
  • 使用大括号 {} 作为占位符,通过传递参数给format()方法进行替换。
  • 可以通过位置参数或关键字参数指定替换的值。 示例:

python

  1. 复制代码
name = "Alice"
age = 25
print("My name is {} and I am {} years old.".format(name, age))
  1. f-strings(格式化字符串字面值):
  • 在字符串前加上 fF,然后使用大括号 {} 插入变量。
  • 可以直接在大括号中使用表达式进行计算。 示例:

python

  1. 复制代码
name = "Alice"
age = 25
print(f"My name is {name} and I am {age} years old.")
  1. Python 3.8引入的字符串插值运算符{}具有以下优势:
  1. 更简洁的语法:使用{}作为字符串插值运算符,不再需要使用额外的格式化函数或方法,使代码更加简洁和易读。
  2. 可读性更强:通过直接在大括号中插入变量或表达式,代码的意图更加清晰,使代码更易于阅读和理解。
  3. 表达式的直接支持:在大括号中可以直接使用表达式进行计算,而不仅限于简单的变量替换,使字符串插值更加灵活和强大。
  4. 变量绑定:使用等号=将变量与表达式进行绑定,可以在插值字符串中显示变量名和对应的值,有助于调试和跟踪代码。
  5. 更好的可扩展性:字符串插值运算符{}是一个可扩展的机制,可以通过自定义格式化函数或对象来扩展其功能,满足特定的需求。
  1. 总的来说,字符串插值运算符{}提供了一种更简洁、更直观的字符串插值语法,使代码编写更加方便和易读。在Python 3.8及以上版本中,字符串插值运算符{}成为了字符串格式化的默认选择,官方推荐在新的代码中使用它
  2. 字符串模板
  • 使用string.Template模块,通过占位符 $ 进行字符串替换。
  • 可以使用关键字参数或字典来传递替换的值。 示例:

python

  1. 复制代码
from string import Template

name = "Alice"
age = 25
template = Template("My name is $name and I am $age years old.")
print(template.substitute(name=name, age=age))
  1. str.format_map()方法
    类似于format()方法,但接受一个字典作为参数,用于替换字符串中的占位符。 示例:

python

  1. 复制代码
 data = {'name': 'Alice', 'age': 25}
 print("My name is {name} and I am {age} years old.".format_map(data))

以上是Python中常用的字符串格式化方法。每种方法都有其特点和适用场景,可以根据具体需求选择合适的方法进行字符串格式化。

三、总结:

本文详细介绍了Python中常用的字符串格式化方法,包括传统的%操作符、format()方法、f-strings、字符串模板和str.format_map()方法。每种方法都有其特点和适用场景,读者可以根据具体需求选择最合适的方式。字符串插值运算符{}是一种更简洁、直观的字符串插值语法,推荐在Python 3.8及以上版本中使用。


转载来源:https://juejin.cn/post/7344949175693951039

相关文章
|
5月前
|
Python
Python中的f-string:更优雅的字符串格式化
Python中的f-string:更优雅的字符串格式化
372 100
|
5月前
|
开发者 Python
Python中的f-string:高效字符串格式化的利器
Python中的f-string:高效字符串格式化的利器
516 99
|
5月前
|
Python
Python中的f-string:更优雅的字符串格式化
Python中的f-string:更优雅的字符串格式化
|
5月前
|
开发者 Python
Python f-strings:更优雅的字符串格式化技巧
Python f-strings:更优雅的字符串格式化技巧
|
5月前
|
开发者 Python
Python f-string:高效字符串格式化的艺术
Python f-string:高效字符串格式化的艺术
|
5月前
|
Python
使用Python f-strings实现更优雅的字符串格式化
使用Python f-strings实现更优雅的字符串格式化
|
6月前
|
Python
Python中的f-string:更简洁的字符串格式化
Python中的f-string:更简洁的字符串格式化
345 92
|
4月前
|
存储 Java 索引
(Python基础)新时代语言!一起学习Python吧!(二):字符编码由来;Python字符串、字符串格式化;list集合和tuple元组区别
字符编码 我们要清楚,计算机最开始的表达都是由二进制而来 我们要想通过二进制来表示我们熟知的字符看看以下的变化 例如: 1 的二进制编码为 0000 0001 我们通过A这个字符,让其在计算机内部存储(现如今,A 字符在地址通常表示为65) 现在拿A举例: 在计算机内部 A字符,它本身表示为 65这个数,在计算机底层会转为二进制码 也意味着A字符在底层表示为 1000001 通过这样的字符表示进行转换,逐步发展为拥有127个字符的编码存储到计算机中,这个编码表也被称为ASCII编码。 但随时代变迁,ASCII编码逐渐暴露短板,全球有上百种语言,光是ASCII编码并不能够满足需求
217 4
|
6月前
|
数据采集 存储 数据库
Python字符串全解析:从基础操作到高级技巧
Python字符串处理详解,涵盖基础操作、格式化、编码、正则表达式及性能优化等内容,结合实际案例帮助开发者系统掌握字符串核心技能,提升文本处理与编程效率。
582 0

推荐镜像

更多