在 Python 3.5+ 中将格式字符串作为关键字参数传递的替代方法
Posted
技术标签:
【中文标题】在 Python 3.5+ 中将格式字符串作为关键字参数传递的替代方法【英文标题】:Alternative to passing a format string as keyword argument in Python 3.5+ 【发布时间】:2018-12-04 23:53:22 【问题描述】:在 Python 3.5 中,已弃用在 str.format
中使用关键字参数:
"Hi s".format(s="world")
来自string
docs:
自 3.5 版起已弃用:已弃用将格式字符串作为关键字参数
format_string
传递。
Python 3.5+ 中的最佳替代方案是什么?
【问题讨论】:
请修复弃用通知链接 【参考方案1】:弃用是关于string.Formatter
而不是str.Formatter
:
Source:
不推荐将格式字符串作为关键字参数
format_string
传递给string.Formatter
类的format()
方法。
您可以在str.format
中使用,但不能在string.Formatter
中使用
【讨论】:
感谢您的澄清 - 我误解了弃用警告。所以我想继续使用"Hi s".format(s="world")
可以吗?
@joshlk,是的,没关系。【参考方案2】:
或者使用fstrings
:
name = "Bob"
hello = f"Hello name"
print (hello)
输出:
Hello Bob
【讨论】:
【参考方案3】:试试这个
name = "john"
hello = "GoodMorning %s" %(name,)
print (hello)
【讨论】:
以上是关于在 Python 3.5+ 中将格式字符串作为关键字参数传递的替代方法的主要内容,如果未能解决你的问题,请参考以下文章
在 conda 中将 python 从 3.5 更新到 3.6