Python 如何将变量放入字符串中?

Python 如何将变量放入字符串中?,python,string,variables,Python,String,Variables,我想把int放入字符串中。这就是我目前正在做的: num = 40 plot.savefig('hanning40.pdf') #problem line 我必须为几个不同的数字运行程序,所以我想做一个循环。但是像这样插入变量不起作用: plot.savefig('hanning', num, '.pdf') 如何将变量插入Python字符串中 plot.savefig('hanning(%d).pdf' % num) 当跟随字符串时,%运算符允许您通过格式代码将值插入该字符串(本例中为%

我想把
int
放入
字符串中。这就是我目前正在做的:

num = 40
plot.savefig('hanning40.pdf') #problem line
我必须为几个不同的数字运行程序,所以我想做一个循环。但是像这样插入变量不起作用:

plot.savefig('hanning', num, '.pdf')
如何将变量插入Python字符串中

plot.savefig('hanning(%d).pdf' % num)
当跟随字符串时,
%
运算符允许您通过格式代码将值插入该字符串(本例中为
%d
)。有关更多详细信息,请参阅Python文档:


不确定您发布的所有代码的确切用途,但要回答标题中提出的问题,您可以使用+作为普通字符串concat函数以及str()


希望有帮助

通常,您可以使用以下方法创建字符串:

stringExample = "someString " + str(someNumber)
print(stringExample)
plot.savefig(stringExample)

哦,很多很多方法

字符串连接:

plot.savefig('hanning' + str(num) + '.pdf')
转换说明符:

plot.savefig('hanning%s.pdf' % num)
使用局部变量名:

plot.savefig('hanning%(num)s.pdf' % locals()) # Neat trick
使用:

使用f字符串:

plot.savefig(f'hanning{num}.pdf') # added in Python 3.6
使用:


我需要一个扩展版本:我需要生成一系列文件名,格式为“file1.pdf”、“file2.pdf”等,而不是在字符串中嵌入单个数字。它是这样工作的:

['file' + str(i) + '.pdf' for i in range(1,4)]
使用Python 3.6中的(“f-strings”简称),现在可以用更简洁的语法编写:

>>> name = "Fred"
>>> f"He said his name is {name}."
'He said his name is Fred.'
根据问题中给出的示例,它看起来是这样的

plot.savefig(f'hanning{num}.pdf')

如果要在字符串中输入多个值,可以使用
格式

nums = [1,2,3]
plot.savefig('hanning{0}{1}{2}.pdf'.format(*nums))

将导致字符串
hanning123.pdf
。这可以在任何数组中完成。

您只需使用

str(num)

虽然这个答案是正确的,但是应该避免使用
+
构建字符串,因为它非常昂贵。使用带有多个参数的格式字符串运算符,可以使用元组作为操作数:
'foo%d,bar%d'(foo,bar)
。您的巧妙技巧也适用于新的格式语法:
plot.savefig('hanning{num}s、 pdf.format(**locals())
在Python3.6中引入了f-strings,现在可以写成
plot.savefig(f'hanning{num}.pdf')
。我用这个信息添加了一个答案;改为使用了%globals(),这是有效的请注意,
%
操作符从Python 3.1开始就被弃用了。新的首选方法是使用Dan McDougall的回答中讨论和提到的
.format()
方法。似乎。为我工作,谢谢!正是我要找的!谢谢
plot.savefig(f'hanning{num}.pdf')
nums = [1,2,3]
plot.savefig('hanning{0}{1}{2}.pdf'.format(*nums))
str(num)