字符串 format() 方法
str.format() 方法的基本用法如下所示:
print('今天{},明天"{}!"'.format('星期一', '星期二'))
复制
运行结果:
今天星期一,明天"星期二!"
复制
括号和其中的字符(称为格式字段)将替换为传递到 str.format() 方法中的对象。括号中的数字可以用来表示传递到 str.format() 方法中的对象的位置。
print('{0} 和 {1}'.format('老大', '老二'))
print('{1} 和 {0}'.format('老二', '老大'))
复制
运行结果:
老大 和 老二
老大 和 老二
复制
如果在 str.format() 方法中使用关键字参数,则使用参数名称引用它们的值。
print('{numbertwo} 是 {numberone} 的兄弟'.format(numberone='老大', numbertwo='老二'))
复制
运行结果:
老二 是 老大 的兄弟
复制
位置参数和关键字参数可以任意组合:
print('{0}、{1}和{numberthree}桃园三结义。'.format('刘备', '关羽',numberthree='张飞'))
复制
运行结果:
刘备、关羽和张飞桃园三结义。
复制
如果有一个非常长的格式字符串,但不想拆分它,那么如果可以按名称而不是按位置引用要进行格式设置的变量,那就太好了。这可以通过传递一个字典,并使用方括号 '[]' 访问字典的键来实现。
herolist = {'吕布': 1399999999, '赵云': 1388888888, '典韦': 1366666666}
print('吕布: {0[吕布]:d}; 赵云: {0[赵云]:d}; 典韦: {0[典韦]:d}'.format(herolist))
复制
运行结果:
吕布: 1399999999; 赵云: 1388888888; 典韦: 1366666666
复制
这也可以通过将 herolist 作为带有 ** 符号的关键字参数传递来实现。
herolist = {'吕布': 1399999999, '赵云': 1388888888, '典韦': 1366666666}
print('吕布: {吕布:d}; 赵云: {赵云:d}; 典韦: {典韦:d}'.format(**herolist))
复制
运行结果:
吕布: 1399999999; 赵云: 1388888888; 典韦: 1366666666
复制
这在与内置函数 vars() 结合使用时特别有用,该函数返回一个包含所有局部变量的字典。
tiger = '吕布'
dragon = '诸葛亮'
mydict = vars()
print(mydict)
复制
官方文档:
https://docs.python.org/3.9/tutorial/inputoutput.html
文章转载自数据库杂货铺,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
[MYSQL] 服务器出现大量的TIME_WAIT, 每天凌晨就清零了
大大刺猬
141次阅读
2025-04-01 16:20:44
演讲实录|分布式 Python 计算服务 MaxFrame 介绍及场景应用方案
阿里云大数据AI技术
121次阅读
2025-03-17 13:27:37
mysql提升10倍count(*)的神器
大大刺猬
119次阅读
2025-03-21 16:54:21
官宣,Milvus SDK v2发布!原生异步接口、支持MCP、性能提升
ZILLIZ
96次阅读
2025-04-02 09:34:13
[MYSQL] query_id和STATEMENT_ID在不同OS上的关系
大大刺猬
64次阅读
2025-03-26 19:08:13
DataWorks :Data+AI 一体化开发实战图谱
阿里云大数据AI技术
46次阅读
2025-03-19 11:00:55
国密算法介绍
漫步者
44次阅读
2025-03-21 09:20:39
如何使用 RisingWave 和 PuppyGraph 构建高性能实时图分析框架
RisingWave中文开源社区
37次阅读
2025-03-18 10:49:54
WingPro for Mac 强大的Python开发工具 v10.0.9注册激活版
一梦江湖远
32次阅读
2025-03-29 10:33:27
python操作MySQL数据库
怀念和想念
29次阅读
2025-03-30 23:22:07