【发布时间】:2010-11-16 13:45:57
【问题描述】:
我有一个这种形式的字符串
s='arbit'
string='%s hello world %s hello world %s' %(s,s,s)
字符串中的所有 %s 都具有相同的值(即 s)。 有没有更好的方法来写这个? (而不是列出 s 三次)
【问题讨论】:
-
这个
%字符串运算符将“在 Python 3.1 上被弃用并在稍后删除”docs.python.org/release/3.0.1/whatsnew/… 现在我想知道在版本兼容性和安全性方面最建议的方法是什么。 -
@Cawas 我知道这已经很晚了,但我喜欢使用
str.format()。例如:query = "SELECT * FROM {named_arg}"; query.format(**kwargs),其中query是格式字符串,kwargs是一个字典,其键与格式字符串中的named_args 匹配。 -
@Cawas 是的,除了 Adam 使用元组表示法,其中
{0}、{1}、{2}等对应于元组索引0、1和2,分别。或者,也可以命名参数(如{named_arg})并在格式方法中设置每个参数,如下所示:'Hi {fname} {lname}!'.format(fname='John', lname='Doe') -
@bignose 您已将两个问题标记为彼此重复,就像google.com/…