如何在Python中的string中放置一个variables?
我想把一个int
放入一个string
。 这就是我现在正在做的事情:
end = smooth(data,window_len=40) plot.plot(time[0:len(end)],end) plot.savefig('hanning(40).pdf') #problem line
我必须运行该程序的几个不同的数字,而不是两个40年代。 所以我想做一个循环,但插入这样的variables不起作用:
plot.savefig('hanning',num,'.pdf')
如何在Pythonstring中插入一个variables?
plot.savefig('hanning(%d).pdf' % num)
%
操作符在跟随一个string时,允许您通过格式代码(在这种情况下为%d
)将值插入到该string中。 有关更多详细信息,请参阅Python文档:
https://docs.python.org/3/library/stdtypes.html#printf-style-string-formatting
哦,有很多种方法
string连接:
plot.savefig('hanning' + str(num) + '.pdf')
转换说明符:
plot.savefig('hanning%s.pdf' % num)
使用局部variables名称:
plot.savefig('hanning%(num)s.pdf' % locals()) # Neat trick
使用format():
plot.savefig('hanning{0}.pdf'.format(num)) # Note: This is the new preferred way
使用string.Template:
plot.savefig(string.Template('hanning${num}.pdf').substitute(locals()))
不确定你发布的所有代码的确切内容,但要回答标题中提出的问题,可以使用+作为普通stringconcat函数以及str()。
"hello " + str(10) + " world" = "hello 10 world"
希望有所帮助!
在Python 3.6中引入了格式化的string文字 (简称“f-strings”),现在可以用更简单的语法来编写它:
>>> name = "Fred" >>> f"He said his name is {name}." 'He said his name is Fred.'
用问题中给出的例子,看起来像这样
plot.savefig(f'hanning{num}.pdf')
通常,您可以使用以下命令创buildstring:
stringExample = "someString " + str(someNumber) print(stringExample) plot.savefig(stringExample)
我需要这个扩展版本:而不是在一个string中embedded一个单一的数字,我需要生成一系列'file1.pdf','file2.pdf'等文件名。工作:
['file' + str(i) + '.pdf' for i in range(1,4)]