我想把一个整型放入字符串中。这就是我现在正在做的事情:
num = 40
plot.savefig('hanning40.pdf') #problem line
我必须为几个不同的数字运行程序,所以我想做一个循环。但是像这样插入变量是行不通的:
plot.savefig('hanning', num, '.pdf')
如何将变量插入到Python字符串中?
另请参阅
如果您尝试使用+来连接一个数字与字符串(或字符串之间等)并得到错误消息,请参阅如何连接str和int对象。
如果您试图用可变数据组合一个URL,不要使用普通的字符串格式,因为这很容易出错,而且比必要的难度更大。有专门的工具可用。参见在Python中向给定URL添加参数。
如果您试图组合一个SQL查询,不要使用普通字符串格式,因为这是一个主要的安全风险。这就是“SQL注入”的原因,它每年花费真实的公司大量的钱。例如,请参阅Python:连接MySQL和执行查询的最佳实践和最安全的方法,以获得适当的技术。
如果你只是想打印(输出)字符串,你可以先这样准备它,或者如果你不需要字符串做其他的事情,使用一个单独的调用打印输出的每一部分。参见如何在同一行上打印多个东西(固定文本和/或变量值),一次全部?有关这两种方法的详细信息。
使用f-strings:
plot.savefig(f'hanning{num}.pdf')
这是在3.6中添加的,是新的首选方式。
使用str.format ():
plot.savefig('hanning{0}.pdf'.format(num))
字符串连接:
plot.savefig('hanning' + str(num) + '.pdf')
转换说明符:
plot.savefig('hanning%s.pdf' % num)
使用局部变量名(巧妙的技巧):
plot.savefig('hanning%(num)s.pdf' % locals())
使用字符串。模板:
plot.savefig(string.Template('hanning${num}.pdf').substitute(locals()))
参见:
更花哨的输出格式- Python教程
Python 3的f-Strings:改进的字符串格式化语法(指南)- RealPython
使用f-strings:
plot.savefig(f'hanning{num}.pdf')
这是在3.6中添加的,是新的首选方式。
使用str.format ():
plot.savefig('hanning{0}.pdf'.format(num))
字符串连接:
plot.savefig('hanning' + str(num) + '.pdf')
转换说明符:
plot.savefig('hanning%s.pdf' % num)
使用局部变量名(巧妙的技巧):
plot.savefig('hanning%(num)s.pdf' % locals())
使用字符串。模板:
plot.savefig(string.Template('hanning${num}.pdf').substitute(locals()))
参见:
更花哨的输出格式- Python教程
Python 3的f-Strings:改进的字符串格式化语法(指南)- RealPython