python3字符串格式化用format()好还是 % 表达式好

左手编程,右手年华。大家好,我是一点,关注我,带你走入编程的世界。

公众号:一点sir

在 Python 中,使用 format() 方法是更推荐的方式来进行字符串格式化,特别是在Python3中。虽然%表达式仍然可以在Python中使用,但已经不推荐使用了,新的项目中能不用就不用,谁知道哪天社区就不支持了。这玩意没有为啥,社区的那些开发人员觉得不好,投票决定,就改了。

接下来就讲一下官方流程化的话。

使用 format() 方法可以确保占位符与变量匹配的正确顺序,使代码更加可读且易于维护。format() 方法提供了多种方式来控制变量的匹配和排列顺序,使代码更具可读性和可维护性。以下是几种常用的方法:

位置参数

在格式化字符串中使用占位符 {},并使用 format() 方法的参数按顺序填充,这样可以保变量与占位符的匹配顺序是一致的。

python 复制代码
name = 'Alittle'
age = 33

introductions = 'Hello, my name is {} and I am {} years old'.format(name, age)
print(introductions)

输出:(下面例子输出都一样)

csharp 复制代码
Hello, my name is Alittle and I am 33 years old

注意,位置参数的顺序是很重要的,因为它们决定了哪个参数填充到相应的占位符中。

命名参数

在格式化字符串中使用命名占位符 {n},并使用 format() 方法的关键字参数进行填充,这样可以明确指定变量与占位符的对应关系,即使顺序发生变化,代码也不会受到影响。

python 复制代码
name = 'Alittle'
age = 33

introductions = 'Hello, my name is {n} and I am {a} years old'.format(n=name, a=age)
print(introductions)

索引参数

可以使用索引来指定变量与占位符的对应关系。在格式化字符串中使用数字索引 {0}{1} 等,并将相应的变量按顺序传递给 format() 。使用索引参数的好处是,可以在格式化字符串中多次使用同一个变量,而不必重复传递相同的值。

python 复制代码
name = 'Alittle'
age = 33

introductions = 'Hello, my name is {0} and I am {1} years old'.format(name, age)
print(introductions)

在Python 3.6之后(好像是)版本还引入了一种新的格式化字符串的方式,称为 f-string。它使用以 fF 开头的字符串,并使用花括号 {} 来包裹变量,像下面这样。

python 复制代码
name = 'Alittle'
age = 33

introductions = f'Hello, my name is {name} and I am {age} years old'
print(introductions)

f-string 的方式更加简洁和直观,就是在字符串前面需要几个f来表示这个是f-string,同时还能直接在字符串中执行表达式,使代码更加简洁和优雅。然而,如果使用的是较旧版本的 Python,可能不支持f-string。

反正就看着使用吧,比较正式一点的项目就用高版本的写法,自己练手的,我觉得没有任何区别,并没有啥本质上的关系,随自己高兴。

相关推荐
IT从业者张某某9 分钟前
Python数据可视化-第7章-绘制3D图表和统计地图
python·3d·信息可视化
攻城狮7号12 分钟前
Python爬虫第13节-解析库pyquery 的使用
爬虫·python·python爬虫
在线打码23 分钟前
禅道MCP Server开发实践与功能全解析
python·ai·禅道·deepseek·mcp·zentao·mcp server
恶霸不委屈42 分钟前
重新定义健康监护!基于DeepSeek的人体生理状况智能检测装置技术解析
人工智能·python·deepseek·生理监测
我感觉。1 小时前
Anaconda环境管理及 pycharm、jupyter notebook 的配置
开发语言·pytorch·python·深度学习
Code_流苏1 小时前
《Python星球日记》第22天:NumPy 基础
python·numpy·多维数组·python数据分析·向量化计算
程序员一诺1 小时前
【Flask开发】嘿马文学web完整flask项目第4篇:4.分类,4.分类【附代码文档】
后端·python·flask·框架
Rolei_zl2 小时前
Python小程序 - 文件处理3:正则表达式
python
Lovcsy2 小时前
day12“函数”进阶学习让你更上一层楼
python
独行soc2 小时前
2025年常见渗透测试面试题- 常见中间件(题目+回答)
前端·python·安全·中间件·面试·xss·红蓝攻防