python - {0!s} 作为格式化参数的含义
问题描述
我对 python3 格式化选项非常熟悉,但我之前没有遇到过{0!s}
选项。
特别是我遇到的格式是这样的:
'{0!s}.xml'.format('VID/' + file)
据我所知,这只是一种渲染输出的方式str(arg)
,在我的情况下str('VID/')
,根据这个解释。
所以输出会是这样的:
VID/000.xml
例如。
由于在这种情况下我的论点已经是 a ,所以当我省略整个格式化参数(使用而不是)str
时,我没有看到任何区别。{}
{0!s}
我做的其他实验是省略产生相同结果的前导 0,而用另一个数字(如 1)替换它会产生错误:
IndexError:元组索引超出范围
有人能解释一下这个格式化参数是怎么回事吗?我什么时候应该使用它等?
解决方案
这是价值转换:https ://pyformat.info/#conversion_flags
{0!s}.xml
表示“对于第 0 个参数,通过调用方法获取要放入格式化字符串的字符串__str__
”
您也可以使用{0!r}
来调用该__repr__
方法
推荐阅读
- asp.net - ASP/.NET 网站在一段时间不活动后停用
- batch-file - 如何在原始DOS中获得2个数字的总和?
- laravel - 保护对公用文件夹(文件夹名称:“服务”)的直接访问,但允许 www.example-site.com/services/list_of_users URL
- keras - 为什么 Confusion Maxtrix 和 Model ACC 不同
- python - 在Python中将同名的键添加到嵌套字典中
- keystonejs - 在 keystonejs 上从 nodemodule 添加库
- javascript - 刷新后页面加载回索引页面
- java - Java 文件从另一个分区中的路径创建
- python - 在 matplotlib 中使用 3 个变量绘制条件
- mysql - 如何将mysql数据库流量镜像到另一台服务器