将变量值插入字符串中

17 投票
6 回答
54776 浏览
提问于 2025-04-16 02:02

我想在Python中把一个变量 [i] 放进一个字符串里。

比如看看下面这个脚本。我只是想给图片起个名字,比如把 geo[0].tif 改成 geo[i].tif,或者如果你用的是会计的话,我可以替换掉值链中的一部分来生成一个计数器。

data = self.cmd("r.out.gdal in=rdata out=geo.tif")
self.dataOutTIF.setValue("geo.tif")

6 个回答

4

如果你在使用Python 3的话,可以用F字符串。下面是一个例子:

 record_variable = 'records'    
 print(f"The element '{record_variable}' is found in the received data")

在这个例子中,输出结果会是这样的:

The element 'records' is found in the received data
21

你可以使用操作符 % 来把字符串插入到另一个字符串里:

"first string is: %s, second one is: %s" % (str1, "geo.tif")

这样做会得到:

"first string is: STR1CONTENTS, second one is geo.tif"

你也可以用 %d 来处理整数:

"geo%d.tif" % 3   # geo3.tif
14
str.format(*args, **kwargs)
data = self.cmd("r.out.gdal in=rdata out=geo{0}.tif".format(i))
self.dataOutTIF.setValue("geo{0}.tif".format(i))

进行字符串格式化操作。这个方法可以在一个字符串上调用,这个字符串可以包含普通文本或者用大括号 {} 包围的替换字段。每个替换字段里可以是一个数字索引,表示位置参数,或者是一个关键字参数的名字。这个方法会返回一个新的字符串,其中每个替换字段都被对应参数的字符串值替换掉。

>>> "The sum of 1 + 2 is {0}".format(1+2)
'The sum of 1 + 2 is 3'

有关可以在格式字符串中指定的各种格式选项,请查看格式字符串语法。

这种字符串格式化的方法是 Python 3.0 中的新标准,建议在新代码中使用,而不是之前的 % 格式化方法。

New in version 2.6.

撰写回答